Java program developed with JavaFx implementing a simple interface to classify data with two known ML algorithms, KMeans and KNN.
The program allows the user to load data from csv files with headers and then train two different algorithms to guess new inputs. The user can also change the way distances between inputs are calculated on runtime between manhattan or euclidean distance.
This project not only features the program with the visual interface, but also the implementation of both algorithms in java with a simple interface that only has two methods, train and guess, making the code more functional and keeping it simple.
The code comes with a suite of tests showcasing the usage of the algorithms implemented and some other critical points.