# Hyperspectral Image Classification with Imbalanced Data Based on Semi-Supervised Learning
## 3 Materials and Experimental Setup
### Experimental Setup
#### 3.2.2 Processing Method and Classifiers  
Following the preprocessing for balancing the data, the dataset was classified by using classifiers. In experiment (1), the classification without processing was compared with classification results from three representative imbalanced processing methods--NearMiss, RUS [23], and SMOTE [22]. These comparison methods are publicly accessible via the imbalance-learn package ([[https://imbalanced-learn.org/](https://imbalanced-learn.org/)]([https://imbalanced-learn.org/](https://imbalanced-learn.org/)), accessed on 25 August 2017) and are commonly used to compare imbalance processing methods used for hyperspectral image classification [2; 3]. Numerous algorithms require manual setting of the hyperparameters. Generally, the range recommended by the algorithm developers is reliable [52]. In our study, most hyperparameters were set to the default values, which were recommended based on experience. In particular, for SMOTE, the number of nearest neighbors was set to 5. For NearMiss, the number of nearest neighbors was 1. RF, as a multi-classifier, was used in NearPseudo. RF is a simple and useful classifier that exhibits excellent performance and better complexity in hyperparameter classification [11; 53]. Thus, the RF classifier was used to classify the hyperspectral images for all methods after data was balanced in experiment (1).  
Further analysis was conducted to compare the performance and improvement of classifiers after the preprocessing by NearPseudo in experiment (2). The representative classifiers for comparison included RF, CART [54], LR, and \(k\)NN [55]. These classifiers are commonly used for multispectral and hyperspectral image classification [10; 53] and do not require a large number of labeled datasets to build the model. Similarly, for the above  
\begin{table}
\begin{tabular}{c l c c c c} \hline \hline
**NO.** & **Common Name/Latin Name** & **T1** & **T2** & **T3** & **TEST** \\ \hline
1 & Box elder/_Acer negundo_ & 1200 & 2000 & 2800 & 800 \\
2 & Willow/_Salix_ & 2800 & 1600 & 2000 & 800 \\
3 & Paddy/_Oryza sativa_ & 200 & 2400 & 2600 & 800 \\
4 & Chinese scholar tree/_Sophora japonica_ & 2400 & 2800 & 1800 & 800 \\
5 & Ash/_Fraxinus chinensis_ & 2800 & 1600 & 2600 & 800 \\
6 & Water & 200 & 1200 & 2000 & 800 \\
7 & Post-harvest field & 1200 & 2000 & 2200 & 800 \\
8 & Corn/_Zea mays_ & 1600 & 800 & 2400 & 800 \\
9 & Pear/_Pyrus_ & 2400 & 2800 & 1800 & 800 \\
10 & White poplar/_Populus_ & 800 & 1200 & 2400 & 800 \\
11 & Weeds & 1600 & 2400 & 2800 & 800 \\
12 & Peach/_Amygdala_ & 1800 & 800 & 1800 & 800 \\ \hline  & R (Max/Min) & 14.0 & 3.5 & 1.6 & 1.0 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Labeled samples of Xiongan.  
preprocessing methods, these classifiers are publicly accessible through the scikit-learn package ([[https://scikit-learn.org/](https://scikit-learn.org/)]([https://scikit-learn.org/](https://scikit-learn.org/)), accessed on 1 October 2018) and can be quickly applied for hyperspectral image classification. Numerous papers have detailed the mechanism of these classifiers and have recommended ranges of hyperparameters suitable for remote sensing classification [53; 56]. In this study, we adopted these recommended hyperparameter ranges. For RF, the number of trees was set to 180. For \(k\)NN, the number of neighbors was set to 11. The other parameters were set to default values. In addition, all experiments were programmed by using Python 3.6 and run on the Ubuntu 14.0 platform with an Intel Xeon e5-2620 CPU and four TITAN XP graphics cards.