Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/queirozfcom/ml201401
Little ML (Machine Learning) toolkit with utilities and some data for testing as well.
https://github.com/queirozfcom/ml201401
Last synced: 22 days ago
JSON representation
Little ML (Machine Learning) toolkit with utilities and some data for testing as well.
- Host: GitHub
- URL: https://github.com/queirozfcom/ml201401
- Owner: queirozfcom
- License: mit
- Created: 2014-02-16T21:24:45.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2015-01-07T17:09:25.000Z (about 10 years ago)
- Last Synced: 2024-11-09T07:47:49.672Z (3 months ago)
- Language: Python
- Homepage:
- Size: 645 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ml201401
========## Informações
Trabalho 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.
### Instalação
Baixar este projeto ( através do git ou então baixando o .zip do projeto).
Para baixar pelo git, basta um comando `git clone`:
$ git clone https://github.com/queirozfcom/ml201401.git projeto-ml
O arquivo para download do projeto no formato .zip é:
https://github.com/queirozfcom/ml201401/archive/master.zip
Os dados já estarão nos lugares corretos, a saber:
- Conjunto 1: `data/energy_efficiency/`
- Conjunto 2: `data/wine_quality/`
- Conjunto 3: `data/concrete/`
- Conjunto 4: `data/housing/`### Configuração
O arquivo `config/constants.py` contém constantes que governarão a execução dos algoritmos. As opções são as seguintes:
- `NUM_ATTRS` (inteiro, default 0)
- O número de atributos no conjunto de dados, ou seja, o número de colunas no arquivo csv.
- `NUM_TARGETS` (inteiro, default 1)
- O número de variáveis objetivo, ou seja, o número de colunas no arquivo csv após as colunas de variáveis.
- `NORMALIZE_TARGETS` (boolean, default False)
- Variável que define se as variáveis objetivo também serão normalizadas.
- `TRAIN_RATIO` (float, default (2.0/3.0) )
- A proporção dos dados do conjunto original que será usada para compor o conjunto de treinamento.
- `INPUT_DELIMITER` (char default ',')
- O delimitador a ser usado no carregamento do arquivo CSV principal, contendo todos os dados.
- `HAS_HEADER` (boolean default False)
- 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.
- `NUM_DIGITS` (inteiro)
- Define o número de algarismos significativos a serem usados na maioria das contas dos algoritmos.
- `NUM_NEIGHBOURS` (inteiro default 5)
- Define o número de vizinhos a ser usado no algoritmo KNN.
- `EXCLUDE_ATTRS` (lista default [])
- Define os índices (começando em zero) das colunas dos atributos que devem ser ignorados na execução dos algoritmos.
- `PREDICT_TARGET` (inteiro)
- Define o índice da coluna que representa a variável objetivo a ser estimada.
- `NUM_NEURONS_HIDDEN_LAYER` (inteiro)
- Número de neurônios a ser usado na (única) camada escondida no algoritmo ANN (rede neural).
- `LEARNING_RATE` (float default 0.3)
- Taxa de aprendizado a ser usada no algoritmo ANN (rede neural).
- `NUM_EPOCHS` (inteiro)
- Número de épocas (rodadas de treinamento) a serem usadas no algoritmo ANN (rede neural).### Scripts Principais
Os seguintes scripts são suficientes para mostrar o funcionamento dos algoritmos e devem ser chamados através do interpretador python.
Vale lembrar que todos estes algoritmos usam as configurações definidas no passo anterior.
- `preprocess_data.py` ``
- Este script embaralha, normaliza e divide um arquivo csv único em dois arquivos csv: um de teste e um de treinamento.- `apply_knn.py` ``
- 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.- `train_ann.py` ``
- 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/`.- `train_and_apply_ann.py` ``
- 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/`.- `do_metrics.py` `` `` `<índice>`
- 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.