  The data volume generated by astronomical surveys is growing rapidly.
Traditional analysis techniques in spectroscopy either demand intensive human
interaction or are computationally expensive. In this scenario, machine
learning, and unsupervised clustering algorithms in particular offer
interesting alternatives. The Apache Point Observatory Galactic Evolution
Experiment (APOGEE) offers a vast data set of near-infrared stellar spectra
which is perfect for testing such alternatives. Apply an unsupervised
classification scheme based on $K$-means to the massive APOGEE data set.
Explore whether the data are amenable to classification into discrete classes.
We apply the $K$-means algorithm to 153,847 high resolution spectra
($R\approx22,500$). We discuss the main virtues and weaknesses of the
algorithm, as well as our choice of parameters. We show that a classification
based on normalised spectra captures the variations in stellar atmospheric
parameters, chemical abundances, and rotational velocity, among other factors.
The algorithm is able to separate the bulge and halo populations, and
distinguish dwarfs, sub-giants, RC and RGB stars. However, a discrete
classification in flux space does not result in a neat organisation in the
parameters space. Furthermore, the lack of obvious groups in flux space causes
the results to be fairly sensitive to the initialisation, and disrupts the
efficiency of commonly-used methods to select the optimal number of clusters.
Our classification is publicly available, including extensive online material
associated with the APOGEE Data Release 12 (DR12). Our description of the
APOGEE database can enormously help with the identification of specific types
of targets for various applications. We find a lack of obvious groups in flux
space, and identify limitations of the $K$-means algorithm in dealing with this
kind of data.
