Hyperspectral imaging is used in a wide range of applications. When used in remote sensing, satellites and aircraft are employed to collect the images, which are used in agriculture, environmental monitoring, urban planning and defence. The exact classification of ground features in the images is a significant research issue and is currently receiving greater attention. Moreover, these images have a large spectral dimensionality, which adds computational complexity and affects classification precision. To handle these issues, dimensionality reduction is an essential step that improves the performance of classifiers. In the classification process, several strategies have produced good classification results. Of these, machine learning techniques are the most powerful approaches. As a result, this paper reviews three different types of hyperspectral image machine learning classification methods: cluster analysis, supervised and semi-supervised classification. Moreover, this paper shows the effectiveness of all these techniques for hyperspectral image classification and dimensionality reduction. Furthermore, this review will assist as a reference for future research to improve the classification and dimensionality reduction approaches.