{"id":16391191,"url":"https://github.com/queirozfcom/ml201401","last_synced_at":"2026-06-11T23:31:35.405Z","repository":{"id":14188125,"uuid":"16894542","full_name":"queirozfcom/ml201401","owner":"queirozfcom","description":"Little ML (Machine Learning) toolkit with utilities and some data for testing as well.","archived":false,"fork":false,"pushed_at":"2015-01-07T17:09:25.000Z","size":660,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-22T20:30:13.778Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/queirozfcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-16T21:24:45.000Z","updated_at":"2015-01-07T17:09:25.000Z","dependencies_parsed_at":"2022-09-23T20:41:11.907Z","dependency_job_id":null,"html_url":"https://github.com/queirozfcom/ml201401","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/queirozfcom/ml201401","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queirozfcom%2Fml201401","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queirozfcom%2Fml201401/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queirozfcom%2Fml201401/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queirozfcom%2Fml201401/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/queirozfcom","download_url":"https://codeload.github.com/queirozfcom/ml201401/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queirozfcom%2Fml201401/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34222709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T04:45:18.379Z","updated_at":"2026-06-11T23:31:35.382Z","avatar_url":"https://github.com/queirozfcom.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"ml201401\n========\n\n## Informações\n\nTrabalho de Aprendizado de Máquina. Contém implementações dos algoritmos KNN (K-nearest neighbour) e Rede Neural. Ver instruções de instalação e uso.\n\n### Instalação\n\nBaixar este projeto ( através do git ou então baixando o .zip do projeto).\n\nPara baixar pelo git, basta um comando `git clone`:\n\n    $ git clone https://github.com/queirozfcom/ml201401.git projeto-ml\n\nO arquivo para download do projeto no formato .zip é:\n\n    https://github.com/queirozfcom/ml201401/archive/master.zip\n\nOs dados já estarão nos lugares corretos, a saber:\n  - Conjunto 1: `data/energy_efficiency/`\n  - Conjunto 2: `data/wine_quality/`\n  - Conjunto 3: `data/concrete/`\n  - Conjunto 4: `data/housing/`\n\n### Configuração\n\nO arquivo `config/constants.py` contém constantes que governarão a execução dos algoritmos. As opções são as seguintes:\n \n  - `NUM_ATTRS` (inteiro, default 0) \n   - O número de atributos no conjunto de dados, ou seja, o número de colunas no arquivo csv.\n  - `NUM_TARGETS` (inteiro, default 1) \n   - O número de variáveis objetivo, ou seja, o número de colunas no arquivo csv após as colunas de variáveis. \n  - `NORMALIZE_TARGETS` (boolean, default False)\n   - Variável que define se as variáveis objetivo também serão normalizadas.\n  - `TRAIN_RATIO` (float, default (2.0/3.0) )\n   - A proporção dos dados do conjunto original que será usada para compor o conjunto de treinamento. \n  - `INPUT_DELIMITER` (char default ',')\n   - O delimitador a ser usado no carregamento do arquivo CSV principal, contendo todos os dados.\n  - `HAS_HEADER` (boolean default False)\n   - Determina se o CSV principal dos dados possui uma linha de cabeçalho, geralmente usado para definir o nome de cada coluna, que representa um atributo no conjunto de dados ou uma variável objetivo.\n  - `NUM_DIGITS` (inteiro)\n   - Define o número de algarismos significativos a serem usados na maioria das contas dos algoritmos.\n  - `NUM_NEIGHBOURS` (inteiro default 5)\n   - Define o número de vizinhos a ser usado no algoritmo KNN.\n  - `EXCLUDE_ATTRS` (lista default [])\n   - Define os índices (começando em zero) das colunas dos atributos que devem ser ignorados na execução dos algoritmos.\n  - `PREDICT_TARGET` (inteiro)\n   - Define o índice da coluna que representa a variável objetivo a ser estimada. \n  - `NUM_NEURONS_HIDDEN_LAYER` (inteiro)\n   - Número de neurônios a ser usado na (única) camada escondida no algoritmo ANN (rede neural).\n  - `LEARNING_RATE` (float default 0.3)\n   - Taxa de aprendizado a ser usada no algoritmo ANN (rede neural).\n  - `NUM_EPOCHS` (inteiro)\n   - Número de épocas (rodadas de treinamento) a serem usadas no algoritmo ANN (rede neural).\n\n### Scripts Principais\n\nOs seguintes scripts são suficientes para mostrar o funcionamento dos algoritmos e devem ser chamados através do interpretador python.\n\nVale lembrar que todos estes algoritmos usam as configurações definidas no passo anterior.\n\n  - `preprocess_data.py` `\u003carquivo_csv\u003e`\n   - Este script embaralha, normaliza e divide um arquivo csv único em dois arquivos csv: um de teste e um de treinamento.\n\n\n  - `apply_knn.py` `\u003cdiretório_das_partições\u003e`\n   - Forneça para este script como argumento o caminho para o diretório contendo as partições (ou seja, um arquivo chamado `train_set.csv` e um chamado `test_set.csv`) de um conjunto de dados. Este script aplicará o algoritmo KNN e escreverá os resultados em um arquivo chamado `prediction_set.csv`, dentro da pasta `predictions_knn/`, no mesmo nível do diretório passado como argumento. \t\n\n  - `train_ann.py` `\u003cdiretório_das_partições\u003e`\n   - Este script irá, usando o diretório passado como argumento e procurando nele um arquivo chamado `train_set.csv`, treinar uma rede neural com uma camada escondida que sirva para estimar instâncias. Para fins de verificação, o valor final dos pesos bem como a configuração usada para obtê-los (número de épocas, taxa de aprendizado e número de neurônios usados) será escrito na pasta `predictions_ann/`.\n\n  - `train_and_apply_ann.py` `\u003cdiretório_das_partições\u003e`\n   - Este script executará todos os passos do script anterior e, além disso, aplicará o algoritmo e escreverá os resultados em um arquivo chamado `prediction_set.csv`, dentro da pasta `predictions_ann/`. \n\n  - `do_metrics.py` `\u003carquivo_csv_1\u003e` `\u003carquivo_csv_2\u003e` `\u003cíndice\u003e`\n   - Este script pode ser usado para calcular o erro médio levando-se em consideração dois conjuntos de dados (em geral um conjunto de teste e o conjunto derivado com as estimativas obtidas por meio de algum algoritmo) e um índice da coluna (começando em zero) que representa o atributo ou variável objetivo cujo erro deseja-se verificar.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqueirozfcom%2Fml201401","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqueirozfcom%2Fml201401","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqueirozfcom%2Fml201401/lists"}