Paper deep dive
EasyClassifier: Honest, Reproducible Machine-Learning Classification for Researchers Who Do Not Program
Ahmad B. A. Hassanat, Ghada A. Altarawneh
Intelligence
Status: not_run | Model: - | Prompt: - | Confidence: 0%
Entities (0)
Relation Signals (0)
No relation signals yet.
Cypher Suggestions (0)
No Cypher suggestions yet.
Abstract
Abstract:Machine-learning classification is now used across medicine, the social sciences, economics, education and engineering, very often by researchers who do not program. Two errors recur in such work: preprocessing learned on all rows before cross-validation (data leakage), and reporting the cross-validation score of the classifier that won a comparison (selection bias). Both make published scores optimistic. We present EasyClassifier, an open-source Python package that guides a user from a CSV or Excel file to a finished analysis through a sequence of plain-language, multiple-choice questions, with no code. It makes the correct procedure the default rather than an option: every preprocessing step is learned inside each training fold; the selected classifier receives a separate final score from nested cross-validation (up to 2,000 rows), or an untouched 20% test set; classifiers run with fixed default parameters and fixed random seeds; and every run writes a report with a ready-to-adapt Methods paragraph, the references to cite, and figures prepared for publication. On ten public datasets from seven fields and a random-label control, split in half so that one half served as an untouched external test, the common practice overstated balanced accuracy by 2.9 percentage points on average (up to 9.9 on small data), whereas the score EasyClassifier reports had a mean signed bias of +0.7 points and a mean absolute error of 2.3 points (one-sided Wilcoxon p = 3.2 x 10^{-4}, 30 runs). On random labels it reported 48.8% balanced accuracy against a chance level of 50%. EasyClassifier is available under the MIT license from PyPI (pip install easyclassifier), GitHub, and Zenodo.
Tags
Links
- Source: https://arxiv.org/abs/2610.04758v1
- Canonical: https://arxiv.org/abs/2610.04758v1
Trouble viewing inline? Open PDF directly â
Full Text
34,730 characters extracted from source content.
Expand or collapse full text
EasyClassifier: Honest, Reproducible Machine-Learning Classification for Researchers Who Do Not Program Ahmad B. A. Hassanat â1 and Ghada A. Altarawneh â 2 1 Faculty of Information Technology, Mutah University, Karak, Jordan 2 Department of Accounting, Mutah University, Karak, Jordan Abstract Machine-learning classification is now used across medicine, the social sciences, economics, education and engineering, very often by researchers who do not program. Two errors recur in such work: preprocessing learned on all rows before cross-validation (data leakage), and reporting the cross-validation score of the classifier that won a comparison (selection bias). Both make published scores optimistic. We present EasyClassifier, an open-source Python package that guides a user from a CSV or Excel file to a finished analysis through a sequence of plain-language, multiple-choice questions, with no code. It makes the correct procedure the default rather than an option: every preprocessing step is learned inside each training fold; the selected classifier receives a separate final score from nested cross-validation (up to 2,000 rows) or an untouched 20% test set; classifiers run with fixed default parameters and fixed random seeds; and every run writes a report with a ready-to-adapt Methods paragraph, the references to cite, and figures prepared for publication. On ten public datasets from seven fields and a random-label control, split in half so that one half served as an untouched external test, the common practice overstated balanced accuracy by 2.9 percentage points on average (up to 9.9 on small data), whereas the score EasyClassifier reports had a mean signed bias of +0.7 points and a mean absolute error of 2.3 points (one-sided Wilcoxon p= 3.2Ă10 â4 , 30 runs). On random labels it reported 48.8% balanced accuracy against a chance level of 50%. EasyClassifier is available under the MIT license from PyPI (pip install easyclassifier), GitHub and Zenodo. Keywords: machine learning; classification; no-code; data leakage; nested cross-validation; reproducibility; research software; Hassanat distance 1 Motivation and significance Supervised classification has become a standard tool well beyond computer science. A clinician predicts a diagnosis from routine measurements, an economist predicts loan default, a political scientist predicts turnout, an educator predicts which students will drop out. Many of these researchers know their data and their field thoroughly but do not write code, and few have formal training in how machine-learning results should be evaluated. Evaluation is where most errors occur. In a survey of the literature, Kapoor and Narayanan [23]found errors from data leakage in 329 published papers across seventeen scientific fields, in some cases leading to strongly over-optimistic conclusions. Two mistakes are especially common and easy to make in good faith: â Corresponding author: ahmad.hassanat@gmail.com â ghadaa@mutah.edu.jo 1 arXiv:2610.04758v1 [cs.LG] 3 Oct 2026 Table 1: Code metadata. Current version0.8.1 Code repository https://github.com/ahmadhassant/easyclassifier Archived version (DOI)10.5281/zenodo.23122902 Package https://pypi.org/project/easyclassifier/ LicenseMIT Language and requirements PythonâĽ3.10; pandas, NumPy, scikit-learn, matplotlib, joblib, openpyxl; optional XGBoost, LightGBM, and a LaTeX distribution for the PDF report PlatformsWindows, macOS, Linux (tested automatically on all three, Python 3.10â 3.14) DocumentationUser guide for non-programmers:https://github.com/ahmadhassant/ easyclassifier/blob/main/docs/USER_GUIDE.md SupportGitHub issues; ahmad.hassanat@gmail.com 1.Leakage through preprocessing. Missing values are filled, columns are scaled or categories encoded using all rows, and the data are only then split for cross-validation. The test folds have thereby influenced the training [23, 25]. 2.Selection bias. Several classifiers are compared by cross-validation and the winnerâs score is reported as its expected performance. The winner partly won by luck on those particular splits, so its score is optimistic; the remedy is to score the whole selection procedure on data it never saw, by nested cross-validation or an untouched test set [8, 32]. Graphical environments such as WEKA [15], Orange [11] and KNIME [5] remove the need to program and are rightly popular in teaching and applied work. They are, however, general workbenches: a correct evaluation is possible, but the user has to know how to build it, and the most direct way to compare classifiers in them is to compare their cross-validation scores. Automated machine-learning systems such as auto-sklearn [12] and TPOT [27] search large spaces of pipelines and hyperparameters; they are programming libraries, and the search itself adds a further layer of selection that must be accounted for in the reported score. EasyClassifier addresses a narrower question: how can a researcher who does not program obtain a classification result that is correct, reproducible and ready to report? Its answer is a guided interview, one question at a time, in which the honest procedure is the default and the user is told in plain words what each result means and which number to report. This paper describes the design (Section 2), the software (Section 3), a complete example (Section 4), an evaluation of whether the reported scores are honest (Section 5), and the expected impact and limitations (Section 6). 2 Design principles Five principles guided every decision. P1 â No code, no jargon unless wanted. The user never writes or edits code. Every question offers numbered choices with a recommended default (ENTER accepts it), and any option can be explained on demand by typing?N. Columns are described in words (e.g.Species â 3 categories (setosa, versicolor, virginica)). Three modes, Beginner, Advanced and Research, show progressively more control. P2 â Honest by default. Every operation that learns from data (imputation, encoding, scaling) is fitted on training rows only, inside each validation split. The selected classifier is given 2 1 Load file CSV / Excel 2 Inspect rows, types, gaps 3 Choose target with checks 4 Prepare auto or manual 5 Classifiers one, some, all 6 Review then run Honest evaluation (automatic) â˘preprocessing fitted inside every training fold ⢠classifiers compared by balanced accuracy ⢠winner scored by nested CV (⤠2,000 rows) or on an untouched 20% test set Results folder report.pdf / report.tex: Methods paragraph, figures, plain-language explanations, refer- ences summary.csv, results.xlsx, predictions.csv, feature_importance.csv, trained_model.pkl, citations.txt, log.txt, figures/ Figure 1: A run of EasyClassifier. Each step is one or a few multiple-choice questions with a recommended default. The evaluation and the outputs need no decisions from the user. a separate final score, and the comparison table is labelled as âused only for choosing; slightly optimistic, do not reportâ. P3 â Default parameters, no tuning. Classifiers use the default parameters chosen by their developers. Tuning on one small dataset adds another layer of selection and transfers poorly, while defaults perform reasonably on average for many algorithms [29]. Defaults also make the analysis short to describe and easy to repeat. P4 â Exactly reproducible. All randomness has fixed seeds, so the same data and version always give the same numbers. Every run writes a log of every choice and its own dated results folder. P5 â Ready to report. The output is a report that states what was done and what to report, with a Methods paragraph the user can adapt, the citations needed, and figures prepared to publication standards. 3 Software description 3.1 Architecture EasyClassifier is a pure-Python package built on scikit-learn [28], pandas [26], NumPy [16] and matplotlib [22]. It runs in a terminal window on Windows, macOS and Linux and is started witheasyclassifierorpython -m easyclassifier. The code is organised in independent modules: data loading and inspection, target checks, preprocessing, a classifier registry, evaluation, figures, permutation importance, and reporting (CSV, Excel and L A T E X/PDF). The wizard calls these modules but contains no modelling logic, so new classifiers, metrics or figures can be added without changing the interface. A test suite of 54 tests runs automatically on every change on the three operating systems and Python 3.10â3.14, once with the oldest supported library versions, and once compiling the PDF report. 3.2 Workflow Figure 1 shows the six steps of a run. 3 Table 2: Classifiers in EasyClassifier 0.8.1. All use library defaults and a fixed random seed. ClassifierImplementationSettings that differ from the library default Decision treescikit-learnâ Random forestscikit-learnâ Support vector machine scikit-learn (RBF kernel)probability estimates enabled (for ROC curves) Logistic regressionscikit-learnup to 1,000 iterations K-nearest neighboursEasyClassifier distances k = 5; six distances, Hassanat by default Naive Bayesscikit-learn (Gaussian)â Neural network (MLP) scikit-learnup to 500 iterations XGBoost (optional)xgboostâ LightGBM (optional)lightgbmâ Loading and inspection. The user types a file name or drags the file into the window; .csv(including semicolon-separated files with decimal commas) and.xlsxare read. A built-in demonstration dataset is loaded by typingdemo. The inspection reports rows, columns, numeric and text columns, missing values and duplicate rows. Identical rows are flagged as probable copies unless many are expected by chance (few possible value combinations, as in survey answers), in which case they are kept. Choosing what to predict. Every column is listed with a plain-language description and the most likely class column is suggested. The choice is checked: a column with a single value is refused; a column that differs in every row (an identifier) triggers a warning; a numeric measurement can be split into two to four equal-sized groups or at a chosen value, and the cut-points are recorded; classes with a single row, which can never be tested, must be removed or another column chosen. Predictor columns that cannot help, such as identifiers and constant columns, are left out with a note. Preparation. In automatic mode, rows without a class value and accidental duplicates are removed, and imputation (median, or the most frequent value for text columns), one-hot or ordinal encoding (depending on the number of categories) and scaling are added to the pipeline of each classifier that needs them. Scaling is chosen per classifier: standardisation for SVM, logistic regression and the neural network, scaling to 0â1 for KNN with the Hassanat distance, and none for tree-based methods and naive Bayes. Only steps that learn nothing from the data run before splitting; everything else is part of a scikit-learnPipelineand is therefore refitted on the training rows of every split. Classifiers. Nine classifiers are offered (Table 2); pressing ENTER selects all of them. When KNN is chosen, the user picks one of six distances; the Hassanat distance [3,17â19], which is bounded per dimension and therefore robust to outliers and to differences in scale [1], is the default, and the report states which form of its formula (non-negative or signed values [3]) was applied, with the citation. 3.3 Evaluation and the final score Classifiers are compared by stratified 5-fold cross-validation (when the user reviews each step manually, hold-out, 10-fold and leave-one-out validation are also offered) and ranked by balanced accuracy, which is defined for any number of classes and is not inflated by class imbalance [7]. The selected classifier then receives a separate final score by one of two methods, chosen automatically from the data size: â˘Nested cross-validation (up to 2,000 rows): within each of five outer folds the complete comparison is repeated on the training part only, its winner is fitted, and that winner 4 predicts the outer test part. The outer predictions give the final score; the report also states which classifier won in each fold. â˘Final test set (larger data): 20% of rows are set aside before anything else, the comparison runs on the other 80%, and the winner is scored once on the untouched 20%. Advanced and Research modes can override the automatic choice. The user may select accuracy, precision, recall, F1, macro specificity, balanced accuracy, Matthews correlation, Cohenâs kappa, ROC AUC and log loss. Macro specificity averages one-versus-rest specificity across classes; for binary data it equals balanced accuracy, rather than negative-class specificity alone. Column importance is measured by permutation importance [6] on rows not used for training. The saved model is the complete pipeline (preparation and classifier) refitted on all rows, so it can be applied directly to new raw data with the same columns. 3.4 Outputs Each run writes a new dated folder. The report (L A T E X, compiled to PDF when a L A T E X program is installed) contains a summary, a description of the data, a Methods paragraph describing exactly what was done, the results with a one-sentence explanation of every measure, the figures with guidance on how to read them, column importance and references. Five figures are drawn by default: class distribution, classifier comparison with the score of every test fold, confusion matrix with counts and percentages, ROC curves (one per class for three or more classes) and feature importance. Precisionârecall curves are added for imbalanced classes and a missing-value map when data are incomplete; Advanced mode adds a correlation matrix, the most important columns by class and a learning curve. Figures are written at 300 dpi, optionally also as PDF or SVG, in one of four colour themes (colour-blind safe by default, greyscale with patterns, high contrast, soft), and each class keeps its colour in every figure. The report also says in words whether the winner is clearly better than the runner-up and whether more data would be likely to help. 4 Illustrative example Figure 2 shows an abridged session on the built-in demonstration data (Fisherâs iris flowers [13]), in which the user pressed ENTER at every question. Two features of this output matter for non-specialists. First, the number to report (95.3%) is lower than the winnerâs comparison score (96.65%), and the screen says which is which. Second, the outer folds chose four different classifiers, which shows the user that on these data the choice of classifier is largely a matter of chance; the comparison figure (Figure 3a), which plots the score of every fold, makes the same point visually. The report contains a Methods paragraph that begins: Classification was carried out with EasyClassifier version 0.8.1, which is built on scikit-learn. [. . . ] Before modelling, numeric columns were standardised (mean 0, standard deviation 1) for Support Vector Machine (SVM), Logistic Regression and Neural Network (MLP), and scaled to the range 0â1 for KNN (Hassanat distance, k=5). All of these steps were learned from the training data only, separately within every validation split, so that no information from test data entered model training. [. . . ] To avoid optimistic bias from this selection, performance was estimated with nested 5-fold cross-validation, in which the complete comparison was repeated within each outer training fold and the winner was evaluated on the outer test fold. 5 Which column do you want to predict? 1. sepal_length - numbers from 4.3 to 7.9 (35 different) ... 5. Species - 3 categories (setosa, versicolor, virginica) <- suggested (ENTER = 5, the suggested one) >> [OK] Target: Species ... * Validation: 5-Fold Cross Validation (auto-selected). * Final score: nested cross-validation (up to 2,000 rows) (auto-selected). ... Selected classifier: Neural Network (MLP) Nested cross-validation estimate - these are the numbers to report: * Accuracy 95.30% * F1 95.29% * ROC AUC 0.9633 * Support Vector Machine (SVM) chosen in 2/5 folds; Neural Network (MLP) chosen in 1/5 folds; Decision Tree chosen in 1/5 folds; Naive Bayes ... Comparison of all classifiers (balanced accuracy, ranked) - used only to choose the winner; slightly optimistic, do not report as the final result: * Neural Network (MLP) 96.65% * Logistic Regression 96.64% ... Figure 2: Abridged terminal session of EasyClassifier 0.8.1 on the demonstration data, all defaults accepted. The whole run took under a minute. 5 Evaluation We asked two questions: whether the scores EasyClassifier tells users to report are hon- est, and how the KNN distances it offers compare under its automatic preprocessing. The benchmark code, datasets and results are part of the repository and reproduce exactly (python benchmarks/run_benchmarks.py). 5.1 Datasets We used ten public datasets chosen to represent the fields of EasyClassifierâs intended users rather than machine-learning benchmarks: medicine (Wisconsin breast cancer [31], Pima diabetes [30], low birth weight [21]), botany (iris [13]), chemistry (wine cultivars [2]), computer vision (8Ă8 handwritten digits [4]), sociology and economics (womenâs labour-force participation in Canada [14]), political science (Chile 1988 plebiscite voting intention [14]; 1992 US election turnout [24]) and psychology (volunteering for psychological research [9]). They have 149â2,523 rows, 3â61 predictors and 2â10 classes; one contains missing values. In the low-birth-weight data the birth weight itself, which defines the class, was removed. An eleventh dataset with 300 rows, ten random predictors and random labels served as a negative control: its true balanced accuracy is 50% by construction. 5.2 Benchmark 1: are the reported scores honest? Protocol. Each dataset was split in half, stratified by class, with three different random seeds (33 runs). The first half was analysed exactly as in EasyClassifierâs automatic mode with all seven standard classifiers; the second half was never touched and gives the true performance of the model each estimate describes, refitted on the whole first half. Three estimates were compared with that truth: (i) the naive estimate, the common practice of fitting preprocessing on all rows before cross-validation and reporting the best classifierâs cross-validation score (leakage 6 (a)(b) Figure 3: Two of the default figures from the run in Figure 2, unedited. (a) Classifier comparison: one dot per test fold, a bar for the overall score, and the final nested-CV score of the selected classifier (diamond). (b) Confusion matrix of the nested cross-validation predictions, with counts and the percentage of each true class. and selection bias); (i) the best score in EasyClassifierâs leakage-free comparison (selection bias only); and (i) EasyClassifierâs final score. The bias of an estimate is the estimate minus the true performance, in percentage points (p) of balanced accuracy. All first halves had at most 1,261 rows, so every run used nested cross-validation for the final score. Results. Table 3 and Figure 4 show the results. Across the 30 runs on real data the naive estimate was optimistic by 2.9 p on average, the comparison best by 2.5 p and the final score by 0.7 p; the mean absolute errors were 3.0, 2.9 and 2.3 p. The naive estimate was more optimistic than the final score (one-sided Wilcoxon signed-rank test,p= 3.2Ă10 â4 ). Because the three splits reuse each dataset, a sensitivity analysis averaging the discrepancies within each of the ten datasets gavep= 0.0049. The bias was largest on small data: on the 183-row low-birth-weight data the naive estimate overstated performance by 9.9 p, the final score by 2.5 p. On random labels, where a tool should report chance, the comparison best reported 55.6% and the naive estimate 52.9%, while the final score reported 48.8%. Removing leakage alone (comparison best) reduced the bias only slightly on these data; most of the optimism came from reporting the winnerâs own score, which is the error users are least likely to know about. 5.3 Benchmark 2: KNN distances Protocol. KNN withk= 5 was evaluated with each of the six distances by repeated stratified 5-fold cross-validation (two repeats) on the ten real datasets, using EasyClassifierâs automatic preprocessing: columns scaled to 0â1 for the Hassanat distance and standardised for the others. As references we added Euclidean and Hassanat distances on unscaled data and the Hassanat distance on standardised data. Distances were compared by mean rank, the Friedman test and pairwise Wilcoxon signed-rank tests [10]. Results. With appropriate preprocessing no distance was significantly better than the others (Friedmanp= 0.053; Figure 5). Mean ranks (1 = best) were Euclidean 2.70, Manhattan 2.75, cosine 2.90, Hassanat 3.85, Canberra 3.90 and Chebyshev 4.90. The Hassanat distance was never more than 2.7 p behind the best of the six on any dataset, the smallest worst-case shortfall of the six (Euclidean 2.8, Manhattan 3.3, Canberra 3.7, Chebyshev 5.2, cosine 9.4 p), although the differences between the first three are small. Scaling to 0â1 improved the Hassanat distance 7 Table 3: Benchmark 1: balanced accuracy (%) estimated on the first half of each dataset and measured on the untouched second half (mean of three random splits). The external column is the truth for EasyClassifierâs selected classifier; the naive estimate is compared with the external score of its own winner when computing its bias. DatasetNaive Comparison best EasyClassifier final External (truth) Breast cancer (Wisconsin)97.498.197.796.1 Pima diabetes73.873.871.871.9 Low birth weight63.863.857.555.0 Iris flowers97.396.995.592.0 Wine cultivars98.098.496.897.9 Handwritten digits (8Ă8)97.597.396.597.3 Womenâs labour force (Canada) 53.151.448.849.4 Chile 1988 plebiscite51.251.351.250.9 US turnout 199258.758.857.858.0 Volunteering for research54.554.352.950.9 Random labels (control)52.955.648.847.9 on 9 of 10 datasets compared with unscaled data (mean +0.9 p,p= 0.014), which is why EasyClassifier 0.8.1 applies it. Without any scaling the picture changes: Euclidean KNN fell to 67.4% on the wine data and 36.3% on the Chile data, where the Hassanat distance on the same unscaled columns reached 95.8% and 45.0%. This robustness to unscaled and heterogeneous columns, which inexperienced users will often supply, is why the Hassanat distance remains the default; the menu no longer labels it ârecommendedâ, and users who prefer Euclidean or Manhattan distances lose nothing by choosing them. 6 Impact, limitations and future work Impact. EasyClassifier is aimed at researchers who have data and a question but neither programming experience nor training in machine-learning evaluation: graduate students, clini- cians, social scientists, economists, educators and engineers. For them it changes three things. It makes the honest result the easy one, so that the number reported is the number that will hold on new data. It turns the analysis into a short, exactly repeatable procedure that a reviewer can check from the Methods paragraph and the log. And it explains its own output, so that users learn what balanced accuracy, a confusion matrix or nested cross-validation mean while using it. Because the benchmark shows that the largest part of the optimism comes from reporting the winner of a comparison, the tool also serves as a teaching device: on random labels it tells the user, correctly, that nothing can be predicted. For teachers, the built-in demonstration and the plain-language help make it usable in a first course without a programming prerequisite. The package installs with a single command from PyPI; a step-by-step user guide covers installing Python on each operating system. Limitations. EasyClassifier handles classification only; regression, clustering and time series are not supported, and a numeric outcome must be grouped into classes. Hyperparameter tuning and feature selection are deliberately excluded (P3); users who need them should move to a programming environment or AutoML system and account for the additional selection. The interface is a text terminal, which some users find less familiar than a graphical window. Nested cross-validation multiplies the run time by roughly six, which is why it is used only up to 2,000 rows; the benchmark above covered that path only, not the 20% test-set path used for larger data. Column names in non-Latin scripts cannot be typeset by pdfL A T E X and appear as placeholders in the PDF report. Finally, the benchmark used ten modest-sized datasets; it shows the direction 8 0246810 Estimate minus true performance (percentage points) < 0 pessimistic 0 = honest optimistic > 0 Breast cancer (Wisconsin diagnostic) Pima Indians diabetes Low birth weight Iris flowers Wine cultivars Handwritten digits (8x8) Women's labour-force participation (Canada) Chile 1988 plebiscite voting intention US election turnout (1992 NES) Volunteering for psychological research Random labels (negative control) Naive estimate (leakage + best-of)Comparison best (best-of only)EasyClassifier final score Figure 4: Bias of the three estimates (estimate minus performance on the untouched half; mean of three splits). Zero is honest; positive values are optimistic. and size of the biases but not their exact magnitude in other settings. Future work. Planned extensions are regression with the same honest-evaluation design, optional feature selection carried out inside the cross-validation folds, applying a saved model to new data from the wizard, report translation (including Arabic, which requires a Unicode T E X engine), and a graphical front end over the same modules. 7 Conclusions EasyClassifier lets researchers without programming experience build and evaluate classi- fication models from a spreadsheet, and makes the statistically correct procedure the default: leakage-free preprocessing, a separate final score for the selected classifier, fixed defaults and seeds, and a report that states what to report and how to describe it. On ten public datasets from seven fields its reported scores had a mean signed bias of +0.7 percentage points and a mean absolute error of 2.3 points relative to external performance, whereas the common practice overstated performance by 2.9 points and by up to ten on small data. The software, benchmarks and documentation are openly available, and we welcome reports from users in every field. Acknowledgements The authors thank the developers of scikit-learn, pandas, NumPy and matplotlib, on which EasyClassifier is built, and the authors of the public datasets used in the evaluation. Parts of the software, the benchmark scripts and this manuscript were prepared with the help of Claude (Anthropic), an AI assistant, which was used for coding support, drafting and editing. The 9 405060708090100 Balanced accuracy of KNN (k = 5), % (mean of 10 test folds) Low birth weight Breast cancer (Wisconsin diagnostic) Chile 1988 plebiscite voting intention Volunteering for psychological research Handwritten digits (8x8) Iris flowers Pima Indians diabetes US election turnout (1992 NES) Wine cultivars Women's labour-force participation (Canada) Hassanat Euclidean Manhattan Chebyshev Canberra Cosine Euclidean (unscaled) - reference Hassanat (unscaled) - reference Hassanat (standardised) - reference Figure 5: Balanced accuracy of KNN (k= 5) with each distance under EasyClassifierâs automatic preprocessing, and three references on unscaled or standardised data (mean of ten test folds). authors designed the software and the study, checked all code, results and text, and take full responsibility for the content of this paper. Software and data availability EasyClassifier 0.8.1 is archived at Zenodo (doi:10.5281/zenodo.23122902), distributed on PyPI and developed athttps://github.com/ahmadhassant/easyclassifier. All benchmark datasets are installed with pip; the benchmark code and full results are in thebenchmarksfolder of the repository. Please cite the software as Hassanat [20]. References [1] Haneen Arafat Abu Alfeilat, Ahmad B. A. Hassanat, Omar Lasassmeh, Ahmad S. Tarawneh, Mahmoud Bashir Alhasanat, Hamzeh S. Eyal Salman, and V. B. Surya Prasath. Effects of distance measure choice on k-nearest neighbor classifier performance: A review. Big Data, 7 (4):221â248, 2019. [2] Stefan Aeberhard, Danny Coomans, and Olivier de Vel. Comparison of classifiers in high dimensional settings. Technical Report 92-02, James Cook University of North Queensland, 1992. [3] Mohammad Saad Alaydaa, Gaseb N. Alotibi, Ahmad S. Tarawneh, and Ahmad B. Hassanat. A sign-symmetric reformulation of the Hassanat distance for data with negative feature 10 values. Symmetry, 18(7), 2026. ISSN 2073-8994. doi: 10.3390/sym18071225. URLhttps: //w.mdpi.com/2073-8994/18/7/1225. [4] Ethem Alpaydin and Cenk Kaynak. Cascading classifiers. Kybernetika, 34(4):369â374, 1998. [5]Michael R. Berthold, Nicolas Cebron, Fabian Dill, Thomas R. Gabriel, Tobias KĂśtter, Thorsten Meinl, Peter Ohl, Kilian Thiel, and Bernd Wiswedel. KNIME â the Konstanz information miner: version 2.0 and beyond. ACM SIGKDD Explorations Newsletter, 11(1): 26â31, 2009. doi: 10.1145/1656274.1656280. [6]Leo Breiman. Random forests. Machine Learning, 45(1):5â32, 2001. doi: 10.1023/A: 1010933404324. [7] Kay Henning Brodersen, Cheng Soon Ong, Klaas Enno Stephan, and Joachim M. Buhmann. The balanced accuracy and its posterior distribution. In Proceedings of the 20th International Conference on Pattern Recognition (ICPR), pages 3121â3124, 2010. doi: 10.1109/ICPR. 2010.764. [8] Gavin C. Cawley and Nicola L. C. Talbot. On over-fitting in model selection and subsequent selection bias in performance evaluation. Journal of Machine Learning Research, 11:2079â 2107, 2010. [9]Michael Cowles and Caven Davis. The subject matter of psychology: Volunteers. British Journal of Social Psychology, 26:97â102, 1987. [10]Janez DemĹĄar. Statistical comparisons of classifiers over multiple data sets. Journal of Machine Learning Research, 7:1â30, 2006. [11]Janez DemĹĄar, TomaĹž Curk, AleĹĄ Erjavec, Ärt Gorup, TomaĹž HoÄevar, Mitar MilutinoviÄ, Martin MoĹžina, Matija Polajnar, Marko Toplak, AnĹže StariÄ, Miha Ĺ tajdohar, Lan Umek, Lan Ĺ˝agar, Jure Ĺ˝bontar, Marinka Ĺ˝itnik, and BlaĹž Zupan. Orange: Data mining toolbox in Python. Journal of Machine Learning Research, 14:2349â2353, 2013. [12]Matthias Feurer, Aaron Klein, Katharina Eggensperger, Jost Springenberg, Manuel Blum, and Frank Hutter. Efficient and robust automated machine learning. In Advances in Neural Information Processing Systems 28, pages 2962â2970, 2015. [13] Ronald A. Fisher. The use of multiple measurements in taxonomic problems. Annals of Eugenics, 7(2):179â188, 1936. [14] John Fox and Sanford Weisberg. An R Companion to Applied Regression. Sage, 2nd edition, 2011. [15]Mark Hall, Eibe Frank, Geoffrey Holmes, Bernhard Pfahringer, Peter Reutemann, and Ian H. Witten. The WEKA data mining software: an update. ACM SIGKDD Explorations Newsletter, 11(1):10â18, 2009. doi: 10.1145/1656274.1656278. [16]Charles R. Harris, K. Jarrod Millman, StĂŠfan J. van der Walt, et al. Array programming with NumPy. Nature, 585:357â362, 2020. doi: 10.1038/s41586-020-2649-2. [17]Ahmad Hassanat, Esraâa Alkafaween, Ahmad S. Tarawneh, and Samir Elmougy. Applications review of Hassanat distance metric. In 2022 International Conference on Emerging Trends in Computing and Engineering Applications (ETCEA), pages 1â6, 2022. doi: 10.1109/ ETCEA57049.2022.10009844. [18] Ahmad B. Hassanat. Dimensionality invariant similarity measure, 2014. arXiv:1409.0923. 11 [19]Ahmad B. Hassanat, Anas A. Alkasasbeh, Esraâa Alkafaween, Omar Lasassmeh, Khalid Almohammadi, Malek Alrashidi, Abdulkareem Alzahrani, Maha Alamri, and Ahmad S. Tarawneh. On the optimality ofk= â nin k-nearest neighbor classification: Sub-optimality rates, dimension-aware selection, and Hassanat distance comparison. Mathematics, 14 (15), 2026. ISSN 2227-7390. doi: 10.3390/math14152707. URLhttps://w.mdpi.com/ 2227-7390/14/15/2707. [20] Ahmad B. A. Hassanat. EasyClassifier: Machine learning without programming (version 0.8.1). Software, 2026. Zenodo, doi:10.5281/zenodo.23122902. [21] David W. Hosmer and Stanley Lemeshow. Applied Logistic Regression. Wiley, 1989. [22] John D. Hunter. Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3):90â95, 2007. doi: 10.1109/MCSE.2007.55. [23]Sayash Kapoor and Arvind Narayanan. Leakage and the reproducibility crisis in machine- learning-based science. Patterns, 4(9):100804, 2023. doi: 10.1016/j.patter.2023.100804. [24] Gary King, Michael Tomz, and Jason Wittenberg. Making the most of statistical analyses: improving interpretation and presentation. American Journal of Political Science, 44: 341â355, 2000. [25]Michael A. Lones. How to avoid machine learning pitfalls: a guide for academic researchers, 2021. arXiv:2108.02497. [26]Wes McKinney. Data structures for statistical computing in Python. In Proceedings of the 9th Python in Science Conference, pages 56â61, 2010. doi: 10.25080/Majora-92bf1922-00a. [27]Randal S. Olson, Nathan Bartley, Ryan J. Urbanowicz, and Jason H. Moore. Evaluation of a tree-based pipeline optimization tool for automating data science. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2016), pages 485â492, 2016. doi: 10.1145/2908812.2908918. [28]Fabian Pedregosa, GaĂŤl Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, and Ădouard Duchesnay. Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12:2825â2830, 2011. [29]Philipp Probst, Anne-Laure Boulesteix, and Bernd Bischl. Tunability: Importance of hyperparameters of machine learning algorithms. Journal of Machine Learning Research, 20 (53):1â32, 2019. [30]Jack W. Smith, J. E. Everhart, W. C. Dickson, W. C. Knowler, and R. S. Johannes. Using the ADAP learning algorithm to forecast the onset of diabetes mellitus. In Proceedings of the Annual Symposium on Computer Application in Medical Care, pages 261â265, 1988. [31]W. Nick Street, William H. Wolberg, and Olvi L. Mangasarian. Nuclear feature extraction for breast tumor diagnosis. In IS&T/SPIE International Symposium on Electronic Imaging: Science and Technology, volume 1905, pages 861â870, 1993. [32]Sudhir Varma and Richard Simon. Bias in error estimation when using cross-validation for model selection. BMC Bioinformatics, 7:91, 2006. doi: 10.1186/1471-2105-7-91. 12