## 4 Methodology and Experimental Results
### Results for Classification Algorithms
We conducted further tests to determine the number of neighbors that would give us the highest accuracy. Other than that, it seems that all algorithms performed similarly, which is quite surprising. Subsequently, we closely examined the obtained feature extraction results to identify the most prominent ones. This allowed us to run tests using only the five most useful features for the classification task to see if performance could be improved. Initially, we measured the average/mean values of each feature extracted from our dataset per classification group (complex and simple). For example, complex sentences have an average value of 2.88575 for the polysyllable count feature, while simple sentences have an average of 2.1705. Then, we measured the difference in the averages between the complex and simple sentences. Another example is the mean value of the Flesch-Kincaid grade level, which was 8.31635 for simple sentences and 10.195225 for complex sentences. The difference between the averages in this case was \(\lesssim\) 1.9. We then converted these difference values into percentages, as shown in Figure 2, in order to have a reading that can be interpreted across all features. Not all features returned values belonging within the same range, so converting to percentages helps make comparisons more meaningful. The figure shows the difference in the mean/average values of each feature between the complex and simple sentences. These values were sorted from top to bottom based on the percentage difference in the mean values between the two classification groups. The differences in the values per classification group for the features through the WEKA interface are shown in Figure 3. In this figure, the X-axis represents the values that each specific feature takes, while the Y-axis (colored) is the classification group. The five features we selected were the polysyllable count, difficult words, Linear Write Formula, Automated Readability Index, and Flesch-Kincaid grade level. Based on the visualizations and averages, we can clearly observe that complex sentences introduce difficult words with many more syllables compared to simple ones. Since the Automated Readability Index, Flesch-Kincaid grade level, and Linear Write Formula take into account the number of  
Figure 2: This figure shows the percentage differences in mean feature values between complex and simple classification groups, sorted by magnitude. characters and/or syllables, it is not surprising that their average differences between the simple and complex sets were slightly higher, rendering them appropriate for this task. We also examined the Linear Regression model considering all the features but excluding the school grade (which is a feature specific to TextStat that returns a nominal value; our only feature that returns a nominal output). For this, the complexity had to be converted to a numeric value, so we used 1 for complex and 0 for simple sentences. The regression was performed using the greedy method and unfortunately returned a 94.3797% relative absolute error. **Linear Regression model:**  
\[\text{Complexity}=0.0038*\text{gunning~{}fog}+0.0121*\text{coleman~{}liau~{}index}\]  
\(-0.0135*\text{automated~{}readability~{}index}+0.0246*\text{dale~{}chall~{}readability~{}score}\)  
\(+0.012*\text{mcalpine~{}eflaw}+0.1361*\text{reading~{}time}-0.0161*\text{ monosyllab~{}count}\)  
\(-0.0117*\text{difficult~{}words}-0.0126\)  
We ran the same tests as before, this time using the handpicked feature set we discussed previously, obtaining the results presented in Table 3. The best algorithm in this case was KNN with 551 neighbors, while the variant with 3501 neighbors performed equally well. The lazy approach with narrow samples did not seem to work until now; widening the number of neighbors significantly increased the accuracy, even in this feature set. The Naive Bayes variants, including NB-K and NB-D, achieved competitive accuracies of 59.675% and 59.7%, respectively. The worst-performing algorithm once again was KNN with a single neighbor.