# Enhanced Plant Leaf Classification over a Large Number of Classes Using Machine Learning
## 5 Proposed Methodology  
Classifying many classes introduces specific challenges in machine learning, such as increased computational complexity, greater risk of overfitting, and difficulty in managing class imbalance. In this work, we aim to improve the classification accuracy of the Cope Leaf Dataset [6], which has 1584 images with 99 labels. The Naive Bayes classifier gives the highest accuracy (85.18%) without a proposed methodology. We developed several feature selection, preprocessing, and training methods to increase data accuracy with many classes. Increasing accuracy in classification, especially when dealing with large datasets and many classes, involves a combination of data preprocessing, model selection, regularization techniques, and fine-tuning. The following steps are applied to enhance the accuracy of the classification of the Cope Leaf Dataset for 99 label data:  
* Noisy and mislabeled data are removed. * Data augmentation techniques (rotation and shifting) are applied to increase the diversity of the training set. * The dataset is balanced according to the number of records on each label. * Data are shuffled to ensure that the distribution is random, which helps in reducing bias during training. * Most relevant features are selected using correlation analysis. * New features are created from existing data via statistical methods such as min, max, range, etc. * Data are converted into a new structure in a consistent format. Classifying datasets with many classes (large label classification) requires effective strategies to manage high-dimensional output spaces. Feature extraction, feature selection, and data preprocessing are crucial steps to ensure that classification algorithms can work effectively [71; 72]. The next step selects data for training and testing, and several classification algorithms are applied. Bayes Net (BN), Naive Bayes Classifier, Multilayer Perception (MP), Hoeffding Tree (HT), J48, Random Forest (RF), and Convolutional Neural Networks (CNN) algorithms were applied to classify 99 label leaf datasets. Naive Bayes classifiers are simple probabilistic models that assume independence between features given the class. This simplicity makes them computationally efficient and scalable, even when dealing with many classes [73]. On the other hand, Decision Trees tend to overfit the training data, especially when the number of classes is large. Both probabilistic and rule-based algorithms are applied in several categories. Classification with 2-class, 5-class, and 10-class has very high accuracy. After structuring the form and adding new features, the Naive Bayes Classifier gives 89.63%, Multilayer Perception gives 89.48%, and the Hoeffding Tree gives 89.92% accuracy, promising for the 99-label class dataset. In this study, 80% of the data is allocated to the training set for developing the machine learning models, while the remaining 20% is reserved as the test set to assess the models' performance. MP model has three hidden layers of 128, 64, and 32 neurons with ReLU activation. The model was trained using the Adam optimizer and categorical cross-entropy loss for multi-class classification. The architecture of the MP was chosen to be complex enough to capture the non-linear relationship between the leaf features without overfitting. In this study, we initially employed an 80/20 split of the data for training and testing, which provided us with a basic understanding of the model's performance. However, to ensure the robustness and generalization ability of our models, we additionally conducted k-fold cross-validation (with k = 5 or 10). This allowed us to assess performance across multiple subsets of the data and confirmed that the models perform consistently and generalize well across different training and testing splits. Moreover, stratified cross-validation was used to maintain the class balance across all folds, which is particularly important in our 99-class dataset, where class imbalance could skew performance.