O programa foi desenvolvido na linguagem Python versão 3.8.4, e utiliza os módulo:
- numpy, para realizar o cálculo de desvio padrão.
- tabulate, para formatar o texto em formato de tabela.
Para executar o programa, basta estar na pasta raiz do repositório e executar o comando: py main.py.
O código está organizado em torno de 6 arquivos:
- main.py: classe principal que utiliza das outras para rodar o algoritmo como um todo.
- patient.py: classe auxiliar Patient, que guarda como atributos os valores de cada linha da tabela de dados fornecida como input.
- util.py: classe estática auxiliar Util, utilizada para ler o arquivo de entrada e normalizar os valores.
- kfolds.py: classe KFolds, utilizada para particionar os pacientes (linhas) em K-Folds, e também manipular esses K-Folds.
- knnclassifier.py: classe KnnClassifier, utilizada para realizar a distância euclidiana, o método dos vizinhos mais próximos, as predições e o cross validation.
- statisticscalculator.py: classe StatisticsCalculator, utilizada para calcular todas as estatísticas requeridas pelo trabalho, assim como transformá-las em uma tabela.