{"id":15158301,"url":"https://github.com/ledsouza/keras-flores","last_synced_at":"2026-01-06T01:46:00.147Z","repository":{"id":250593564,"uuid":"834884194","full_name":"ledsouza/keras-flores","owner":"ledsouza","description":"Este projeto demonstra a construção de um modelo de Machine Learning utilizando a biblioteca Keras para classificar as espécies de flores Iris (Setosa, Versicolor e Virginica) com base em suas características.","archived":false,"fork":false,"pushed_at":"2024-07-28T16:55:14.000Z","size":350,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T17:37:04.911Z","etag":null,"topics":["deep-learning","keras","keras-tensorflow","machine-learning","multilayer-perceptron-network","neural-network","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ledsouza.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-28T16:48:00.000Z","updated_at":"2024-07-28T16:57:29.000Z","dependencies_parsed_at":"2024-07-28T18:09:23.948Z","dependency_job_id":"a8672e49-c6ba-4dc2-b9f1-cba64f93a2c5","html_url":"https://github.com/ledsouza/keras-flores","commit_stats":null,"previous_names":["ledsouza/keras-flores"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ledsouza%2Fkeras-flores","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ledsouza%2Fkeras-flores/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ledsouza%2Fkeras-flores/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ledsouza%2Fkeras-flores/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ledsouza","download_url":"https://codeload.github.com/ledsouza/keras-flores/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245579675,"owners_count":20638679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["deep-learning","keras","keras-tensorflow","machine-learning","multilayer-perceptron-network","neural-network","tensorflow"],"created_at":"2024-09-26T20:42:33.259Z","updated_at":"2026-01-06T01:46:00.101Z","avatar_url":"https://github.com/ledsouza.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Classificação de Flores Iris com Keras 💐\n\n![Static Badge](https://img.shields.io/badge/Status-Finalizado-green)\n\n## Descrição\n\nEste projeto demonstra a construção de um modelo de Machine Learning utilizando a biblioteca Keras para classificar as espécies de flores Iris (Setosa, Versicolor e Virginica) com base em suas características. O modelo utilizado é uma Rede Neural Multi-Layer Perceptron (MLP).\n\n## Tecnologias Utilizadas\n\n- Python\n- Keras\n- TensorFlow (como backend do Keras)\n- Scikit-learn (para carregar o dataset e pré-processamento)\n- Matplotlib e Seaborn (para visualização dos dados)\n- Pandas (para manipulação de dados)\n- Plotly (para visualização interativa)\n\n## Descrição Detalhada do Projeto\n\n### Dataset\n\nO projeto utiliza o famoso dataset Iris, que contém 150 amostras de flores Iris, divididas igualmente em três espécies: Setosa, Versicolor e Virginica. Cada amostra possui quatro características:\n\n- Comprimento da sépala (cm)\n- Largura da sépala (cm)\n- Comprimento da pétala (cm)\n- Largura da pétala (cm)\n\n### Pré-processamento de Dados\n\n1. **Categorização:** A variável alvo (espécie da flor) é convertida para uma representação categórica one-hot encoding utilizando `keras.utils.to_categorical`.\n2. **Normalização:** As características são normalizadas para o intervalo [0, 1] utilizando o `MinMaxScaler` do Scikit-learn.\n3. **Separação de Conjunto:** O dataset é dividido em conjuntos de treino (80%) e teste (20%) utilizando o `train_test_split` do Scikit-learn. A estratificação é utilizada para garantir a mesma proporção de classes em ambos os conjuntos.\n\n### Modelo MLP\n\nO modelo MLP é construído utilizando o `keras.Sequential`, que permite a criação de uma rede neural sequencial. O modelo possui as seguintes camadas:\n\n1. **Camada de Entrada:** Define o formato de entrada com base nas características do dataset.\n2. **Camada Oculta:** Uma camada densa com 512 neurônios e função de ativação ReLU. Os pesos são inicializados com `keras.initializers.RandomNormal`.\n3. **Camada de Saída:** Uma camada densa com 3 neurônios (um para cada classe) e função de ativação Softmax.\n\n### Treinamento\n\n1. **Compilação:** O modelo é compilado utilizando:\n    - Função de Perda: `categorical_crossentropy` (adequada para classificação multiclasse)\n    - Otimizador: `rmsprop` (uma variante do gradiente descendente)\n    - Métrica: `categorical_accuracy`\n2. **Treinamento:** O modelo é treinado com os dados de treino por 100 épocas, utilizando 30% do conjunto de treino para validação.\n\n### Avaliação\n\n1. **Visualização do Aprendizado:** A perda e a acurácia durante o treinamento são plotadas para visualizar o aprendizado do modelo.\n2. **Avaliação no Teste:** O modelo é avaliado no conjunto de teste utilizando o método `evaluate`.\n3. **Predição:** Uma amostra de dados é utilizada para testar a predição do modelo.\n\n## Resultados\n\nO modelo MLP alcançou uma alta acurácia no conjunto de teste, demonstrando a capacidade da rede neural em aprender os padrões do dataset Iris e classificar as flores corretamente. A visualização do aprendizado mostra que o modelo não sofreu overfitting, já que a perda e a acurácia no conjunto de validação acompanharam o desempenho no conjunto de treino.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fledsouza%2Fkeras-flores","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fledsouza%2Fkeras-flores","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fledsouza%2Fkeras-flores/lists"}