├── 2019_2.md
├── 2020_1.md
├── 2020_2.md
├── 2023_1.md
├── 2024_2.md
├── README.md
├── atividades
└── 2019.2
│ ├── CharRec
│ ├── CharRec_Gabriel_Leonardo_Samuel.md
│ ├── Deep Learning_Leandro_Tobias.pdf
│ ├── Identificação de letras usando Multilayer Perceptron - Lucas Gualberto.md
│ ├── LucasFigueredo_NN.md
│ ├── Relatorio IV - CharRec (Luis Fernando Tavares).docx
│ ├── Relatorio_Jorge_e_Severino.md
│ ├── Relatorio_Reconhecimento_de_Caracteres_Igor_Rony_Thatiana.pdf
│ ├── Relatrio4-Vilson.pdf
│ ├── char_rec_bruno_guedes_spinelli.md
│ ├── maciel_barbosa.md
│ └── modelo_de_relatorio.md
│ ├── MLP
│ ├── Leandro_Tobias.pdf
│ ├── Leonardo_e_Gabriel_MLP.md
│ ├── Lucas_e_Luis.md
│ ├── Relatorio I - MLP (Luis Fernando Tavares).docx
│ ├── Relatorio_Alysson_Lima_MLP.md
│ ├── Relatorio_Igor_Rony_Thati_MLP
│ ├── Relatorio_Samuel_Amico_MLP.md
│ ├── Relatório MLP - Vilson.pdf
│ ├── Relatório_Michel.md
│ ├── mlp_bruno_guedes_spinelli.md
│ ├── modelo_de_relatorio.md
│ ├── relatorioLOP_Severino_e_Jorge.md
│ ├── relatorioMLP - JoaoMarcos.md
│ └── relatorio_sistema-LOP_Lucas-Gualberto.md
│ ├── SOM
│ ├── Análise_do_perfil_ de_aprovacao_com_SOM-Lucas_Gualberto.md
│ ├── Lucas_Figueredo_SOM.md
│ ├── Relat_Jorge_e_Severino.md
│ ├── Relatorio_Michel.md
│ ├── Relatório III - SOM (Luís Fernando Tavares).docx
│ ├── RelatórioSOMAprovacaoLOP.pdf
│ ├── Relatório_SOM_Alysson_Lima.pdf
│ ├── SOM_Gabriel_Leonardo_Samuel.md
│ ├── SOM_Leandro_Tobias.pdf
│ ├── SOM_Lucas_Gualberto.md
│ ├── Vilson - Rede SOM.pdf
│ ├── modelo_de_relatorio.md
│ ├── relatorioSOM-JoaoMarcos.md
│ ├── relatório SOM - Luis Felipe Vanin.mdown
│ └── som_bruno_guedes_spinelli.md
│ ├── SVM
│ ├── Leandro_Tobias2.pdf
│ ├── Lucas_e_Luis2.md
│ ├── MacielBarbosa.md
│ ├── PoseEstimation_Gabriel_Leonardo_Samuel.md
│ ├── Relatorio II - SVM (Luis Fernando Tavares).docx
│ ├── Relatorio_SVM_Alysson_Lima
│ ├── Relatório - SVM_Igor_Rony_Thatiana.pdf
│ ├── Relatório SVM - Vilson.pdf
│ ├── Relatório_Michel_SVM.md
│ ├── modelo_de_relatorio.md
│ ├── relatorioSVM-JoaoMarcos.md
│ ├── relatorio_SVM_Severino_e_Jorge.md
│ └── relatorio_pose_estimation_Lucas-Gualberto.md
│ └── trabalhos_finais
│ ├── Babycry-Leandro_Tobias.pdf
│ ├── Detecção de objetos_Igor_Rony_Thatiana.pdf
│ ├── Identificacao_de_movimentos_com_SOM_SVM.md
│ ├── Lucas e Vanin.pdf
│ ├── README.md
│ ├── Relatorio - Teacher Sensor (Luis Fernando Tavares).pdf
│ ├── RelatórioFinal_JoãoMarcos_Michel.md
│ ├── Relatório_Projeto_NLP_Twitter_Alysson_Lima.pdf
│ ├── Relatório_RF_(Leonardo&Gabriel).md
│ ├── TCC__Hardcode (2) (1).pdf
│ ├── Vilson-Perfis-de-Reprovacao.pdf
│ ├── reconhecimento_facial_(bruno_guedes_spinelli).pdf
│ └── trabalho_final_Jorge_e_Severino.md
├── atividades_2018_2.md
├── aulas
├── arvore_decisao.md
├── cnn.md
├── deep_learning.md
├── introducao.md
├── k_means.md
├── mlp.md
├── nlp.md
├── regressao.md
├── som.md
├── svm.md
└── texto
│ └── atributos_categoricos.md
├── cronograma_2020_2.md
├── cursos_online.md
├── dados
├── 50_Startups.csv
├── Banco de Dados 22.csv
├── Churn_Modelling.csv
├── Corrida_PRF_2023_Resultado.csv
├── Credit_Card_Applications.csv
├── Dados_Produtores_de_Leite_Com_Classes[V2].csv
├── DataBaseLop.csv
├── DataBaseLopDescription.txt
├── Distancias_Pessoas.csv
├── IMG_20190927_105514.jpg
├── Iris.csv
├── LucroFilmes.csv
├── Mall_Customers.csv
├── ODB2013originalcorrigido.csv
├── PWMxVelocidade.csv
├── README.md
├── Restaurant_Reviews.tsv
├── Resultados_Strava_2_CSV2020_2023.csv
├── Salary_Data.csv
├── Social_Network_Ads.csv
├── Tweets_Mg.csv
├── WA_Fn-UseC_-HR-Employee-Attrition.csv
├── altura_x_peso.csv
├── aluguel_residencial.csv
├── alunos_didatico.csv
├── antihorario002.txt
├── antihorario003.txt
├── antihorario004.txt
├── avaliacoes_tripadvisor_paprica.csv
├── census.csv
├── compra_casa_didatico.csv
├── crescimento_populacional.csv
├── customer segmentation data.csv
├── dados produtores lucielly.csv
├── diabetes.csv
├── didatico_dados_pessoas_e_notas.csv
├── heart_disease_uci.csv
├── horario002.csv
├── horario003.csv
├── horario004.csv
├── horas_estudos_x_notas.csv
├── house_prices.csv
├── housing.csv
├── limpo1.csv
├── loan_data.csv
├── lop_submissao_semana.csv
├── metricas_lop.csv
├── milsa.csv
├── notasECT_LoP_v2.csv
├── notas_ECT_LoP_s1_v2.csv
├── obitos_covid.csv
├── perfil_notas_sem_identificacao.csv
├── perfil_notas_sem_identificacao.txt
├── perfil_notas_sem_identificacao_col_resum.csv
├── perfil_politico.csv
├── perfil_politico2019.csv
├── perguntas_e_respostas.tsv
├── pib_regioes_brasil.csv
├── pop_brasil.csv
├── preco_casas.csv
├── salario_x_experiencia.csv
├── segmentation data.csv
├── teste1.csv
├── teste2.csv
├── ultrassom_simples_radar_1.csv
├── ultrassom_simples_radar_1_reduzida.csv
├── xor_3.csv
└── zoo.csv
├── entrega_trabalho_final_2020.md
├── guias
└── Perceptron
│ ├── Perceptron.py
│ ├── README.md
│ ├── and.jpg
│ └── iris_data.csv
├── modelo_de_relatorio.md
├── noticiais.md
├── outras_referencias.md
├── regeressao_linear
└── regressao_linear_simples.ipynb
├── relatorio_ml.md
├── relatorio_ml_vc.md
└── roteiro_trabalho_final.md
/2019_2.md:
--------------------------------------------------------------------------------
1 | # Machine Learning
2 | Conteúdo de apoio sobre Machine Learning da disciplina de tópicos avançados em informática
3 |
4 | ## Jupyter Notebooks
5 | * Regressão Linear Simples, http://bit.ly/2KBTkUf
6 | * Regressão Linear Múltipla, http://bit.ly/2nBOcGx
7 | * MultiLayer Perceptron, http://bit.ly/2MI9kZQ
8 | * SVM Linear, http://bit.ly/2Ov7vgh
9 | * SVM RBF, http://bit.ly/2OBRHsk
10 | * K-Means, http://bit.ly/2zqY8JI
11 | * SOM, http://bit.ly/2Ps3xWA
12 | * SOM - Numbers, http://bit.ly/2ysYJcb
13 | * SOM - Notas LoP e do primeiro semestre - http://bit.ly/2m6c8UI
14 | * Deep Learning MNIST, http://bit.ly/2z8VCqY
15 | * Deep Learning MNIST - Rede Convolucional, http://bit.ly/2A6PfUD
16 | * Introdução a NLP - http://bit.ly/2po0h6i
17 | * Clonagem de Comportamento em carros autônomos, http://bit.ly/2QHMSlF
18 |
19 | ## Slides de Aula
20 | * Introdução, https://docs.google.com/presentation/d/1Xo6pl8EECIBfA97d-EH0-DQSwM7YtZQ0WM2w85zs5ZI/edit?usp=sharing
21 | * Regressão Linear I, https://docs.google.com/presentation/d/1qR5GZ4ROHnccPOhPlj2NBC5cALZzrF5dIUwF6GslbAY/edit?usp=sharing
22 | * Regressão Linear II, https://docs.google.com/presentation/d/1ksbUXVsP08Vrm5mPW7etzpUSaRL3bN1lRDQEpWhcgSU/edit?usp=sharing
23 | * MLP, https://docs.google.com/presentation/d/1NMgV4Jh-T7PhK_bLV3J7KUse8vN_PkU5rGKLbfxQ_cs/edit?usp=sharing
24 | * SVM, https://docs.google.com/presentation/d/1GOUeqNpZ3CRtTUaksxMwZ_rl6EBt350g-emA4FKPwnc/edit?usp=sharing
25 | * SOM, https://docs.google.com/presentation/d/1PV1jTA0cJ1PdoGM1TY0I0wQtEP8aINI1MSJXpgpxgCQ/edit?usp=sharing
26 | * CNN, https://docs.google.com/presentation/d/19U5ITVHzKa-kdX4L5l3D6WBTai04o0EaHygz-jkzwZc/edit?usp=sharing
27 | * Introdução NLP, https://docs.google.com/presentation/d/1xLG54cyWgnPve4uiRM_ybXfumwht2CuM0t2ycIBsdkU/edit?usp=sharing
28 |
29 | ## Começando com Python
30 |
31 | * Material produzido pelo grupo de estudos em Ciência de Dados, https://github.com/Natalnet/GCiD/tree/master/Codes/Basic%20Module
32 |
33 | ## Links Interessantes
34 | * Curso de Introdução a Deep Learning com PyTorch, https://classroom.udacity.com/courses/ud188
35 | * Interagindo e visualizando uma linha de regressão linear, https://s3.amazonaws.com/codecademy-content/programs/data-science-path/line-fitter/line-fitter.html
36 | * Excelentes tutoriais sobre aprendizado de máquina, https://matheusfacure.github.io/tutoriais/
37 | * Tutorias de python e machine learning, https://github.com/cs-ufrn
38 | * MLP para fins didáticos em C++, https://github.com/orivaldosantana/mlp
39 | * colah's blog, http://colah.github.io/
40 | * Deep Learning Book, http://www.deeplearningbook.org/
41 | * Página web com lições sobre TensorFlow, https://learningtensorflow.com/
42 | * Github sobre K Means Clustering de Siraj Raval, https://github.com/llSourcell/k_means_clustering/blob/master/kmeans.py.ipynb
43 | * Brilliant, https://brilliant.org/courses/machine-learning/?tour=true
44 | * Geeks for Geeks, https://www.geeksforgeeks.org/genetic-algorithms/
45 | * Deep Natural Language Processing course offered in Hilary Term 2017 at the University of Oxford, https://github.com/oxford-cs-deepnlp-2017/lectures
46 | * Introdução a CNN, https://mlnotebook.github.io/post/CNN1/
47 |
48 | ## Referências
49 |
50 | * Livro Neural Networks and Deep Learning, http://neuralnetworksanddeeplearning.com/
51 | * Livro Hands-On Machine Learning, https://github.com/ageron/handson-ml
52 | * Livro Dive into Deep Learning, http://d2l.ai/index.html
53 | * Livro Deep Learning, https://www.deeplearningbook.org/
54 | * Super Data Science, https://www.superdatascience.com/machine-learning/
55 | * Scikit-learn, http://scikit-learn.org/
56 | * Super Data Science - Convolutional Neural Networks, https://www.superdatascience.com/blogs/the-ultimate-guide-to-convolutional-neural-networks-cnn
57 | * A Tutorial on Support Vector Machines for Pattern Recognition, https://www.di.ens.fr/~mallat/papiers/svmtutorial.pdf
58 |
59 | ## Links de Dados
60 | * Dados abertos UFRN, http://dados.ufrn.br/organization/ufrn
61 | * Kaggle data sets, https://www.kaggle.com/datasets
62 |
63 | ## Cursos Onlines
64 |
65 | * Introdução a _Machine Learning_, Udacity, https://classroom.udacity.com/courses/ud120
66 | * Introdução a Deep Learning com PyTorch, https://classroom.udacity.com/courses/ud188
67 | * Machine Learning - Udemy, https://www.udemy.com/machinelearning
68 | * Deep Learning - Udemy, https://www.udemy.com/deep-learning-com-python-az-curso-completo
69 | * Machine Learning - Google, https://developers.google.com/machine-learning/crash-course/
70 | * Machine Learning - Coursera, https://www.coursera.org/learn/machine-learning
71 | * Elements of AI, https://course.elementsofai.com/
72 | * The Complete Self-Driving Car Course - Applied Deep Learning - Udemy, https://www.udemy.com/applied-deep-learningtm-the-complete-self-driving-car-course
73 | * Introduction to Python, https://www.datacamp.com/courses/intro-to-python-for-data-science
74 |
75 | ## Exercícios
76 | * Implementação do perceptron, https://github.com/ect-info/ml/tree/master/guias/Perceptron
77 |
78 | ## Canal de Comunicação
79 | * Para compartilhamento de conhecimento entre os estudantes: https://discord.gg/jzKN8kx
80 |
81 | ## Bibliografia
82 |
83 | * GÉRON; **Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems**. O’REILLY, 2017.
84 | * MITCHELL; **Machine Learning**, Publisher: McGraw-Hill Science/Engineering/Math, 1997.
85 | * NEGNEVITSKY; **Artificial Intelligence: A Guide to Intelligent Systems**, Second Edition, Publisher Addison Wesley.
86 | * HAYKIN; **Neural Networks and Learning Machines** (3rd Edition), Publisher: Pearson.
87 | * JOSHI; **Artificial Intelligence with Python**, Packt Publisher, 2017.
88 | * BISHOP; **Pattern Recognition and Machine Learning**, Springer, 2006.
89 | * RUSSELL, STUART; NORVIG, PETER; **Inteligência Artificial**, 3. edição, Prentice Hall.
90 | * BRAGA; CARVALHO; e LUDERMIR; **Redes neurais artificiais: teoria e aplicações**, 2007
91 |
92 |
93 |
--------------------------------------------------------------------------------
/2020_1.md:
--------------------------------------------------------------------------------
1 |
2 | # _Machine Learning_
3 | Conteúdo de apoio sobre Machine Learning da disciplina IMD0188
4 |
5 | ## Menu
6 |
7 | * [Referências Bibliográficas](https://github.com/ect-info/dpia/blob/master/Bibliografia.md)
8 | * [Referências de Cursos Online](https://github.com/ect-info/ml/blob/master/cursos_online.md)
9 | * [Outras Referências](https://github.com/ect-info/ml/blob/master/outras_referencias.md)
10 | * [Material de Aula](https://github.com/ect-info/ml/blob/master/2020_1.md#material-de-aula)
11 | * [Atividades](https://github.com/ect-info/ml/blob/master/2020_1.md#atividades)
12 |
13 |
14 | ## Canal de Comunicação
15 | * Para compartilhamento de conhecimento entre os estudantes: https://discord.gg/Sa2zvvw
16 |
17 | ## Material de Aula
18 | Estes formulários registram a participação nas aulas assínscronas.
19 |
20 | ### Introdução ao Aprendizado de Máquina
21 | * [Vídeos e Form: Introdução ao Aprendizado de Máquina](https://forms.gle/XQFTKRAzzp5QbCs68)
22 | * [Vídeos e Form: Aprendizado de Máquina - Exemplos](https://forms.gle/17xb4qcNzrcRA3gN9)
23 | * [Vídeos e Form: Introdução ML - Principais Conceitos](https://forms.gle/A8fpDgvEv7A8YPFv7)
24 | * [Slides: Conceitos](https://docs.google.com/presentation/d/1UKK1HW9Wfh-q2qqAloiJYp179EVMw5GuVu3Yzphefgw/edit?usp=sharing)
25 |
26 | ### Breve introdução sobre Regressão Linear
27 | * [Vídeos e Form](https://forms.gle/QWaVAi71GBTnjNYK8)
28 | * [Slides](https://docs.google.com/presentation/d/1iELBYui_t5S_FNhsOZkqm_a1xvHtOW17QbGeLYWAr-s/edit?usp=sharing)
29 | * [Código utilizado no vídeo](https://colab.research.google.com/drive/1cnvCdgxz0eHWzSSjKrMPD1LLj5VE21rv?usp=sharing)
30 | * [Exercício](https://colab.research.google.com/drive/1Ije_CQ1uywwhaQU9bnDEiSmS0b9AJq1E?usp=sharing)
31 | * [Desafio](https://colab.research.google.com/drive/1cY0xY7G8hh6OLBndI7_M5i48ZBqdSBA7?usp=sharing)
32 |
33 | ### Breve introdução sobre Multilayer Perceptron
34 | * [Vídeos e Form: MLP Parte 1](https://forms.gle/VopVYaFesompVMgn8)
35 | * [Vídeos e Form: MLP Parte 2](https://forms.gle/YbRqcxQT5nDbjYzj9)
36 | * [Exemplo de código: Perceptron](https://colab.research.google.com/drive/1jbFCvifaAou19mlu2pI3Rso8DoMow_zl?usp=sharing)
37 | * [Slides](https://docs.google.com/presentation/d/1oIzH-SNbJ3_4vYZdt_IZQi3537BUJKsvio_oV8c8Bnc/edit?usp=sharing)
38 |
39 | ### Introdução sobre Suport Vector Machine (SVM)
40 | * [Vídeos e Form: SVM](https://forms.gle/vzFZXatdThDe9LdH8)
41 | * [Exemplo de código: SVM Linear](https://colab.research.google.com/drive/1VYmZBcf2FHmz_gwPRxllxwoy0nTaU8X9?usp=sharing)
42 | * [Slides](https://docs.google.com/presentation/d/19mAI5sjOWURpzuKpoFjbjmCkjUXUysU_kysfbksmVAg/edit?usp=sharing)
43 |
44 | ### Introdução sobre _Deep Learning_
45 | * [Vídeos e Form: _Deep Learning_](https://forms.gle/U2zfJ4n7AmSA3tp5A)
46 | * [Slides: _Deep Learning_](https://docs.google.com/presentation/d/1pxztvhuOc36D76cDW86oj8nGZAIlQSEn2GZJE0GzGLw/edit?usp=sharing)
47 | * [Exemplo de código: MLP - Exemplo sobre se um cliente deixa um banco](https://colab.research.google.com/drive/1NndIE2zvup_aWqSG06JR7i6_WxXQ-xMU?usp=sharing)
48 | * [Exemplo de código: Reconhecimento de caracteres escritos a mão](https://colab.research.google.com/drive/1gGi-n3vAJkjdEKMYLZkSCXoDhyRS1tSJ?usp=sharing)
49 |
50 | ### Introdução sobre K-Means
51 | * [Vídeos e Form: K-Means](https://forms.gle/XrCfUvuvtXtwAua56)
52 | * [Slides](https://docs.google.com/presentation/d/1hzeAFwgHNZ7pr_POzd4_2lXUgOz_vrVfuhjxl6tbBCs/edit?usp=sharing)
53 | * [Exemplo de código: perfil de clientes de uma loja](https://colab.research.google.com/drive/15Q-gTih7v2f5pYc64xQa2ytzX2gisX0q?usp=sharing)
54 |
55 | ### Introdução sobre Rede SOM
56 | * [Vídeos e Form: Rede SOM](https://forms.gle/uYQti6kABLtL2g659)
57 | * [Slides](https://docs.google.com/presentation/d/1vGS--E6VbtohvVkUo23GM-0MsL-EMTnxAXKcSHiomLI/edit?usp=sharing)
58 | * [Exemplo de código: visualizar os perfis de alunos da Escola de Ciência e Tecnologia da UFRN](https://colab.research.google.com/drive/1PX9YlNGx_pjgesMsnhyjrXI-nsuJOdWI?usp=sharing)
59 |
60 | ### Introdução sobre Rede Neural Convolucional
61 | * [Form e vídeos](https://forms.gle/YCYBFEwggpJtugy48)
62 | * [Código: reconhecimento de números escritos à mão](https://colab.research.google.com/drive/1gd9aB82vSHAEb_nHV0wJJZU4-gSfPbHN?usp=sharing)
63 | * [Slides](https://docs.google.com/presentation/d/1KTPsi2Y4U63cuNUoCh32sd3VJfyYf6MA7NT3fHucboM/edit?usp=drivesdk)
64 |
65 | ### Atividades
66 |
67 | #### Uso de regeressão
68 | * Monte sua equipe
69 | * Faça uma cópia do exemplo: "Base de dados de aluguel" ([clique aqui para acessar](https://colab.research.google.com/drive/1N2tsSSG18GhNsSxHKfE61WAGzZaf9Mww?usp=sharing))
70 | * Complete o código de exemplo seguindo as instruções
71 |
72 | ## Exemplos
73 | * Implementação do perceptron, https://github.com/ect-info/ml/tree/master/guias/Perceptron
74 |
75 |
76 | ## Bibliografia Básica
77 | * GÉRON; **Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems**. O’REILLY, 2017.
78 | * MITCHELL; **Machine Learning**, Publisher: McGraw-Hill Science/Engineering/Math, 1997.
79 | * NEGNEVITSKY; **Artificial Intelligence: A Guide to Intelligent Systems**, Second Edition, Publisher Addison Wesley.
80 | * HAYKIN; **Neural Networks and Learning Machines** (3rd Edition), Publisher: Pearson.
81 | * JOSHI; **Artificial Intelligence with Python**, Packt Publisher, 2017.
82 | * BISHOP; **Pattern Recognition and Machine Learning**, Springer, 2006.
83 | * RUSSELL, STUART; NORVIG, PETER; **Inteligência Artificial**, 3. edição, Prentice Hall.
84 | * BRAGA; CARVALHO; e LUDERMIR; **Redes neurais artificiais: teoria e aplicações**, 2007
85 |
86 |
87 |
--------------------------------------------------------------------------------
/2024_2.md:
--------------------------------------------------------------------------------
1 | # _Machine Learning_
2 | Conteúdo de apoio para a disciplina de Aprendizado de Máquina - ECT3694
3 |
4 | ## Menu
5 |
6 | * [Referências Bibliográficas](https://github.com/ect-info/dpia/blob/master/Bibliografia.md)
7 | * [Referências de Cursos Online](https://github.com/ect-info/ml/blob/master/cursos_online.md)
8 | * [Outras Referências](https://github.com/ect-info/ml/blob/master/outras_referencias.md)
9 | * [Material de Aula](#material-de-aula)
10 | * [Avaliações](#avalia%C3%A7%C3%B5es)
11 | * [Cronograma](https://docs.google.com/spreadsheets/d/1opRug-pP-RKPnnFLWNsYMxz8UIagM5mkPorGV4YrSZo/edit?usp=sharing)
12 |
13 | ## Canal de Comunicação
14 | * Para compartilhamento de conhecimento entre os estudantes: https://discord.gg/mp8aPyh
15 |
16 | ## Compreendendo o Perfil da Turma
17 | * O objetivo deste formulário é conhecer o perfil da turma para melhoras as metodologias de ensino / aprendizagem.
18 | * Gostaria que todos os alunos preenchessem [este formulário](https://docs.google.com/forms/d/e/1FAIpQLScOZAQApPriAo39Kg20AaPjR1SQdh3v1nUnH4jgjbefl6AEwQ/viewform?usp=sf_link)
19 |
20 | # Material de Aula
21 |
22 | ## Introdução ao Aprendizado de Máquina
23 | * [Clique aqui.](aulas/introducao.md)
24 |
25 |
26 | ## Aprendizado Supervisionado
27 | ### Regressão
28 | #### Regressão Linear
29 | * [Clique aqui.](aulas/regressao.md)
30 |
31 |
32 | ### Classificação
33 | #### Árvore de Decisão
34 | * [Clique aqui.](aulas/arvore_decisao.md)
35 |
36 | #### Multilayer Perceptron (MLP)
37 | * [Clique aqui.](aulas/mlp.md)
38 |
39 | #### Suport Vector Machine (SVM)
40 | * [Clique aqui.](aulas/svm.md)
41 |
42 | #### _Deep Learning_
43 | * [Clique aqui.](aulas/deep_learning.md)
44 |
45 | #### Rede Convolucional
46 | * [Clique aqui.](aulas/cnn.md)
47 |
48 | ## Agrumapamento
49 | ### K-Means
50 | * [Clique aqui.](aulas/k_means.md)
51 |
52 | ### Rede SOM
53 | * [Clique aqui.](aulas/som.md)
54 |
55 | ## Modelos para Texto
56 | ### Processamento de Linguagem Natural (NLP)
57 | * [Clique aqui.](aulas/nlp.md)
58 |
59 | ## Avaliações
60 |
61 | ### Atividades Avaliativas (Previsão) - Unidade I
62 | * Prever o lucro de uma startup
63 | * Previsão de compra de um produto
64 | * Reconhecimento de dígitos escritos a mão
65 | * Perfil de clientes de uma loja
66 | * Análise de perfil de estudantes
67 | * Reconhecimento de faces
68 | * Sistema de perguntas e respostas
69 | * Dados de saúde do governo Federal
70 |
71 |
72 |
73 | ### Atividades Avaliativas - Unidade II
74 | * Projeto final
75 | * Apresentação
76 |
77 | ### Atividades Avaliativas - Unidade III
78 | * Projeto final
79 | * Relatório
80 |
81 | ### Trabalho Final
82 | Escolha de um problema relacionado ao trabalho do estudante ou área de interesse. Site para obter bases de dados: https://www.kaggle.com/
83 |
84 | ## Bibliografia Básica
85 | * PROVOST, Foster & FAWCETT, Tom. **Data science para negócios: O que você precisa saber sobre mineração de dados e pensamento analítico de dados**. Alta Books, 2016.
86 | * VANDERPLAS, Jake. **Python data science handbook: Essential tools for working with data.** " O'Reilly Media, Inc.", 2016.
87 | * MÜLLER, Andreas C.; GUIDO, Sarah. **Introduction to machine learning with Python: a guide for data scientists.** " O'Reilly Media, Inc.", 2016.
88 | * GÉRON; **Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems**. O’REILLY, 2017.
89 | * MITCHELL; **Machine Learning**, Publisher: McGraw-Hill Science/Engineering/Math, 1997.
90 | * NEGNEVITSKY; **Artificial Intelligence: A Guide to Intelligent Systems**, Second Edition, Publisher Addison Wesley.
91 | * HAYKIN; **Neural Networks and Learning Machines** (3rd Edition), Publisher: Pearson.
92 | * JOSHI; **Artificial Intelligence with Python**, Packt Publisher, 2017.
93 | * BISHOP; **Pattern Recognition and Machine Learning**, Springer, 2006.
94 | * RUSSELL, STUART; NORVIG, PETER; **Inteligência Artificial**, 3. edição, Prentice Hall.
95 | * BRAGA; CARVALHO; e LUDERMIR; **Redes neurais artificiais: teoria e aplicações**, 2007
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 | ### Introdução sobre Rede SOM
105 | * [Vídeos e Form: Rede SOM](https://docs.google.com/forms/d/e/1FAIpQLSemMYcbVnQgDOYMIEB9M_uaK2RSLciTqzgdIZtwAn2vB_KQsA/viewform?usp=sf_link)
106 | * [Slides](https://docs.google.com/presentation/d/1vGS--E6VbtohvVkUo23GM-0MsL-EMTnxAXKcSHiomLI/edit?usp=sharing)
107 | * [Exemplo de código: visualizar os perfis de alunos da Escola de Ciência e Tecnologia da UFRN](https://colab.research.google.com/drive/1PX9YlNGx_pjgesMsnhyjrXI-nsuJOdWI?usp=sharing)
108 |
109 | ### SOM
110 | * [Aula prática: introdução à rede SOM - Visualização de Dados](https://youtu.be/-mEn7puBD84)
111 | * [Código](https://colab.research.google.com/drive/1S-aMgBqFe9OgGdjURrWs86l7LaHLRuRJ?usp=sharing)
112 |
113 | ### Prátrica com SOM
114 | * [Vídeo: Análise de perfis e desempenho em LoP](https://youtu.be/RFi62fy17tY)
115 | * [Código: Análise de perfis e desempenho em LoP](https://colab.research.google.com/drive/1lVfiGPf1yyDx7Zv_AUrS4o3bgO0E0EzH?usp=sharing)
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 | ### Introdução sobre Processamento de Linguagem Natural (NLP)
124 | * [Slides: NLP ](https://docs.google.com/forms/d/e/1FAIpQLScSCcux1V-fKBrYJAC_p_tqMSSSIIzvqPOU2Po59p6XiMnSmg/viewform?usp=sf_link)
125 | * [Form e vídeos](https://forms.gle/UAbKYR8AesufY6q38)
126 | * [Código: Análise de sentimentos ](https://colab.research.google.com/drive/1n80Us6FJZ74XyYIyl8iiqbSyIBapk9Yj?usp=sharing)
127 |
128 | ### Processamento de Linguagem Natural
129 | * [Aula prática - parte 1: Introdução à Processamento de Linguagem Natural](https://youtu.be/ZnGC0tQLjNM)
130 | * [Código](https://colab.research.google.com/drive/1otpdkZhfhBwJrU6jD8pvtQAzzsrn-lGo?usp=sharing)
131 | * [Aula prática - parte 2: Introdução à Processamento de Linguagem Natural](https://youtu.be/gcbeEvpwCZ0)
132 | * [Código](https://colab.research.google.com/drive/1eJRivNcV_ZdqJqEoX9WhcnusV2-sRKm1?usp=sharing)
133 |
134 |
135 |
136 | #### Extras
137 |
138 | ##### Uso de regeressão
139 | * Monte sua equipe
140 | * Faça uma cópia do exemplo: "Base de dados de aluguel" ([clique aqui para acessar](https://colab.research.google.com/drive/1N2tsSSG18GhNsSxHKfE61WAGzZaf9Mww?usp=sharing))
141 | * Complete o código de exemplo seguindo as instruções
142 |
143 | ## Exemplos
144 | * Implementação do perceptron, https://github.com/ect-info/ml/tree/master/guias/Perceptron
145 |
146 |
147 |
148 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Semestres
2 |
3 | * [2024.2](https://github.com/ect-info/ml/blob/master/2024_2.md)
4 | * [2023.1](https://github.com/ect-info/ml/blob/master/2023_1.md)
5 | * [2020.2](https://github.com/ect-info/ml/blob/master/2020_2.md)
6 | * [2020.1](https://github.com/ect-info/ml/blob/master/2020_1.md)
7 | * [2019.2](https://github.com/ect-info/ml/blob/master/2019_2.md)
8 |
--------------------------------------------------------------------------------
/atividades/2019.2/CharRec/Deep Learning_Leandro_Tobias.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/CharRec/Deep Learning_Leandro_Tobias.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/CharRec/Identificação de letras usando Multilayer Perceptron - Lucas Gualberto.md:
--------------------------------------------------------------------------------
1 | # Identificação de letras usando Multilayer Perceptron (MLP)
2 |
3 | ## Introdução
4 |
5 | A base de dados utilizada para esse trabalho é composta de 117 imagens de cada letra do alfabeto da língua portuguesa.
6 | O objetivo principal de utilização dessa base de dados é identificar, dada uma letra qualquer, que letra do alfabeto
7 | a imagem fornecida contém.
8 |
9 | ## Metodologia
10 |
11 | O modelo de machine learning (ML) usado para a classificação das letras foi o MLP. Para entender melhor o funcionamento desse modelo é impressindível aprender sobre a ML da qual ele é derivado, o Perceptron. Esse funciona de uma maneira semelhante a um neurônio, onde os dentritos recebem o estimulos elétrico, esses estímulos são processados pelo núcleo do neurônio e depois transmitidos através dos axônios para os dentritos de outra célula nervosa. A sinapse que é a passagem dessa informação de uma célula para outra por meio dos neurotransmissores é regulada pela quantidade desses neurotransmissores presentes em cada terminação dos neurônios. Tal funcionamento é abstraido para o Perceptron em forma de pesos (neurotransmissores) que regulam unidades (neurônios) que podem possuir diferentes funções de ativação. O Multilayer Perceptron difere da Perceptron quanto ao número de camadas existentes. No Perceptron existem apenas 2 camadas, onde uma é de entrada e outra é de saída. Já na MLP além das camadas de entrada e saída existem camadas escondidas que podem tem números variados de unidades. A MLP usada para esse trabalho foi configurada com 4 camadas, sendo a de entrada uma camada de convolução2D que passa 30 filtros de 5 por 5 numa matriz de 28 por 32 por 1 e ativação 'relu'. A segunda camada também de revolução de 15 filtros de 3 por 3 e ativação 'relu'. A terceira camada e a única camada escondida utilizada para esse trabalho foi composta de 500 neurônios com ativação 'relu'. Por fim a última camada com 26 camadas e ativação 'softmax'.
12 |
13 | ## Códigos
14 |
15 | * Mostrar trechos de códigos mais importantes e explicações.
16 |
17 | ## Experimentos
18 |
19 | * Descrever em detalhes os tipos de testes executados.
20 | * Descrever os parâmentros avaliados.
21 | * Explicar os resultados.
22 |
23 |
24 |
--------------------------------------------------------------------------------
/atividades/2019.2/CharRec/Relatorio IV - CharRec (Luis Fernando Tavares).docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/CharRec/Relatorio IV - CharRec (Luis Fernando Tavares).docx
--------------------------------------------------------------------------------
/atividades/2019.2/CharRec/Relatorio_Jorge_e_Severino.md:
--------------------------------------------------------------------------------
1 | # Reconhecimento de caracter escrito à mão
2 | #### JORGE LUÍS GURGEL FERNANDES
3 | #### SEVERINO MIGUEL DO NASCIMENTO NETO
4 |
5 | ## Introdução
6 |
7 | O presente relatório tem como propósito, descrever o desenvolvimento de um programa que reconhece um caracter escrito a mão por meio de uma rede neural.
8 |
9 | ## Metodologia
10 |
11 | Para cumprir com o nosso objetivo, utilizamos a linguagem Python e, através dela, a rede neural Multilayer Perceptron(MLP), em conjunto com a base de dados que foi disponibilizada em sala de aula.
12 |
13 | ## Base de dados
14 | A base de dados consiste em um conjunto de arquivos de imagens com caracteres escritos à mão, este serão usados como ferramenta de treinamento para o funcionamento do código.
15 |
16 |
17 | ## Passo à passo:
18 |
19 | ### Trechos principais:
20 | Trecho em que foi inserida as devidas bibliotecas e base de dados manipulada:
21 |
22 |
23 | ```py
24 | import os
25 | import numpy as np
26 | import cv2
27 | from sklearn.model_selection import train_test_split
28 | import matplotlib.pyplot as plt
29 | from keras.models import Sequential
30 | from keras.layers import Dense
31 | from keras.optimizers import Adam
32 | from keras.utils.np_utils import to_categorical
33 | ```
34 |
35 |
36 | Após descompactar os arquivos foi utilizado uma instrução com a finalidade de identificar as imagens [images] e os rótulos [labels], armazenado em duas matrizes
37 |
38 | ```py
39 | images = []
40 | labels = []
41 | def traverse_dir(path):
42 | for file_or_dir in os.listdir(path):
43 | abs_path = os.path.abspath(os.path.join(path, file_or_dir))
44 | print(abs_path)
45 | if os.path.isdir(abs_path): # dir
46 | traverse_dir(abs_path)
47 | else: # file
48 | if file_or_dir.endswith('.jpg'):
49 | image = read_image(abs_path)
50 | images.append(image)
51 | labels.append(path[len(path)-1])
52 |
53 | return images, labels
54 | ```
55 |
56 |
57 | Após isso, o código manipula as imagens deixando-as em tons de cinza e inverte as suas cores, com o propósito de facilitar a identificação do caracter, para inseri-los nos vetores de imagens e rótulos.
58 |
59 |
60 | ```py
61 | def read_image(file_path):
62 | image = cv2.imread(file_path)
63 | # converte para tons de cinza
64 | gray_scale = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
65 | # inverte a cor
66 | image = cv2.bitwise_not(gray_scale)
67 | return image
68 |
69 |
70 | def extract_data(path):
71 | images, labels = traverse_dir(path)
72 | images = np.array(images)
73 |
74 | return images, labels
75 | ```
76 |
77 |
78 | Na trecho abaixo selecionamos o valor de 25% para teste, restando 75% para o treinamento.
79 |
80 | ```py
81 | X_train, X_test, y_train, y_test = train_test_split(images, labels_enc, test_size=0.25, random_state=1)
82 | ```
83 |
84 |
85 |
86 |
87 |
88 | Depois manipulamos os parâmetros do treinamento com a finalidade de obter uma maior acurácia.
89 |
90 | ```py
91 | history = model.fit(X_train, y_train, validation_split=0.1, epochs=250, batch_size = 80, verbose = 1, shuffle = 15)
92 | ```
93 |
94 | Finalmente obtivemos uma acurácia de 61%.
95 |
96 | ## Teste
97 |
98 | Para realizar o teste com o código desenvolvido, carregamos uma imagem aleatória de um caracter escrito à mão para que o código faça o tratamento da imagem e reconhecimento desse caracter.
99 |
100 | ### Exemplo:
101 |
102 | carregamento da imagem:
103 |
104 |
105 |
106 | imagem tratada e predição:
107 |
108 |
109 |
110 |
111 |
112 | ## Conclusão
113 |
114 |
115 | Percebe-se que uma acurácia de 61% não é suficientemente bom, dado que poucos teste obtiveram sucesso, mas isso se deu devido ao banco de dados insuficiente e falho, para um processo com essa complexidade, seria necessário uma base de dados maior e consequentemente mais completa.
116 |
117 |
118 |
119 |
--------------------------------------------------------------------------------
/atividades/2019.2/CharRec/Relatorio_Reconhecimento_de_Caracteres_Igor_Rony_Thatiana.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/CharRec/Relatorio_Reconhecimento_de_Caracteres_Igor_Rony_Thatiana.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/CharRec/Relatrio4-Vilson.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/CharRec/Relatrio4-Vilson.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/CharRec/maciel_barbosa.md:
--------------------------------------------------------------------------------
1 | # Reconhecimento de Letras com CNN
2 | ## Introdução
3 |
4 | A equipe é composta apenas por mim.
5 | O objetivo é identificar a letra presente em uma imagem. Para isso foi utilizada uma base de dados composta por 127
6 | exemplos de cada letra, totalizando 3302 imagens.
7 |
8 | ## Metodologia
9 |
10 | O desevolvimento da atividade pode ser dividida em 3 etapas: preparação dos dados, treinamento e teste. Na preparação,
11 | a base de dados é convertida para um formato adequado para o treinamento. No treinamento é definida a configuração da CNN e feita
12 | a compilação do modelo.
13 | No teste é verificado a saída de alguns exemplos.
14 |
15 | ## Códigos
16 |
17 | Definição do modelo:
18 | ```
19 | model = Sequential()
20 | model.add(Conv2D(32, (5,5), input_shape=(28,32,1), activation='relu'))
21 | model.add(MaxPooling2D(pool_size=(2,2)))
22 | model.add(Conv2D(64,(3,3), activation='relu'))
23 | model.add(MaxPooling2D(pool_size=(2,2)))
24 | model.add(Dropout(0.2))
25 | model.add(Flatten())
26 | model.add(Dense(500, activation='relu'))
27 | model.add(Dense(num_classes, activation='softmax'))
28 | model.compile(Adam(lr=0.01), loss='categorical_crossentropy', metrics=['accuracy'])
29 | ```
30 |
31 | ## Experimentos
32 |
33 | Os resultados dos testes não foram satisfatórios. Acredito que seria mais bem sucedido caso houvesse uma melhor distribuição dos
34 | datasets de validação para cada tipo de letra.
35 | ### Base de dados
36 | * Caracteres escritos a mão, https://drive.google.com/open?id=1B4fy3Nqy9AoEnC2MuuPaCstcrJ-FZstW
37 |
38 |
--------------------------------------------------------------------------------
/atividades/2019.2/CharRec/modelo_de_relatorio.md:
--------------------------------------------------------------------------------
1 | # Título do Trabalho
2 |
3 | ## Introdução
4 |
5 | * Apresentar os membros da equipe.
6 | * Descrever o problema.
7 | * Descrever a base de dados.
8 |
9 | ## Metodologia
10 |
11 | * Explicar o modelo de _machine learning_ (ML) que você está trabalhando.
12 | * Explicar as etapas do treinamento e teste.
13 | * Caso tenha selecionado atributos, explicar a motivação para a seleção de tais atributos.
14 |
15 | ## Códigos
16 |
17 | * Mostrar trechos de códigos mais importantes e explicações.
18 |
19 | ## Experimentos
20 |
21 | * Descrever em detalhes os tipos de testes executados.
22 | * Descrever os parâmentros avaliados.
23 | * Explicar os resultados.
24 | ### Base de dados
25 | * Dígitos escritos a mão, https://drive.google.com/open?id=1MQ799fvtrs6pXNI3aDB2otEpdg9N-E7H
26 | * Caracteres escritos a mão, https://drive.google.com/open?id=1B4fy3Nqy9AoEnC2MuuPaCstcrJ-FZstW
27 |
28 |
--------------------------------------------------------------------------------
/atividades/2019.2/MLP/Leandro_Tobias.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/MLP/Leandro_Tobias.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/MLP/Relatorio I - MLP (Luis Fernando Tavares).docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/MLP/Relatorio I - MLP (Luis Fernando Tavares).docx
--------------------------------------------------------------------------------
/atividades/2019.2/MLP/Relatorio_Alysson_Lima_MLP.md:
--------------------------------------------------------------------------------
1 | # Previsão de situação de aprovação de aluno com uso de MLP
2 | ## Introdução
3 | A atividade foi desenvolvida por Alysson Rafael Oliveira de Lima. Trata-se da necessidade de ter uma previsão o mais cedo possível da probabilidade de reprovação de um aluno, para que seja tomada alguma providência de acompanhamento, para tentar reverter a reprovação. Para isso foi fornecido uma base de dados da turma de Lógica de Programação, da Escola de Ciências e Tecnologia, da UFRN nos períodos de 2017.2 até 2019.1, contendo informações sobre notas de prova, quantidade de questões feitas na prova, quantidades de exercícios submetidos a cada semana dentre outros dados extraídos durante o período.
4 |
5 | ## Metodologia
6 | Para esse experimento foi utilizado o modelo de Machine Learn Multilayer Perceptron - MLP. O perceptron multicamadas é uma rede neural semelhante à perceptron, porém com mais de uma camada de neurônios em alimentação direta, sendo composta por camadas ligadas entre si por sinapses com pesos.
7 | Para o desenvolvimento da rede neural foi utilizado a linguagem de programação Python e o modelo de classificação “**Sequential**” da biblioteca Keras.
8 | Os dados foram divididos em 80% para treinamento e 20% para testes.
9 | Como a proposta é prever a situação de aprovação do aluno com menos tempo possível para que seja realizada alguma intervenção, os atributos foram analisados e escolhidos de acordo com a precedência temporal durante o semestre. Foram realizados vários testes com diferentes quantidades de atributos, chegando a alcançar o melhor resultado, 83% de acertos, utilizando os seguintes atributos:
10 |
11 | * **notaProva1** - nota da primeira prova;
12 | * **qsub1** - quantidade de submissões da lista 1;
13 | * **qsub2** - quantidade de submissões da lista 2;
14 | * **qsub3** - quantidade de submissões da lista 3;
15 | * **qsubp1** - quantidade de questões submetidas para a prova 1;
16 | * **igualACeml123** - quantidade de submissões em que o aluno acertou 100%.
17 |
18 | A rede neural foi construída utilizando 3 níveis. Como camada de entrada um nível com 6 dimensões e 6 unidades de neurônios e função de ativação ‘**relu**’. O segundo nível da rede foi incluído com 15 neurônios e também com a função de ativação ‘**relu**’. A camada de saída foi incluída com uma unidade apenas e com a função de ativação ‘**sigmoid**’.
19 | Para o treinamento da rede, após alguns testes, foi definido o valor 2 para o “**batch_size**” e o valor 40 para “**epochs**”, gerando assim os resultados apontados.
20 |
21 | ## Códigos
22 |
23 | Os níveis definidos para a rede MLP.
24 | ```py
25 | # Adicionando a camada de entrada e o primeiro nível
26 | classifier.add(Dense( activation = 'relu', input_dim = 6, units = 6, kernel_initializer = 'uniform'))
27 | # Adicionando o segundo nível
28 | classifier.add(Dense( activation = 'relu', units = 15, kernel_initializer = 'uniform' ))
29 | # Adicionando a camada de saída
30 | classifier.add(Dense( activation = 'sigmoid', units = 1, kernel_initializer = 'uniform'))
31 | ```
32 |
33 | A configuração do treinamento:
34 | ```py
35 | # Treinando a rede
36 | classifier.fit(X_train, y_train, batch_size = 2, epochs = 40)
37 | ```
38 |
39 | ## Conclusão
40 | Através do uso do modelo de rede neural Multicamadas Perceptron, juntamente com os atributos selecionados dos dados fornecidos e das configurações escolhidas para o treinamento da rede foi possível obter uma previsão razoável dos discentes da disciplina de Lógica de Programação. Sendo possível com 83% prever a situação do discente já na primeira unidade e assim haver tempo hábil para poder interferir e analisar formas para que seja possível evitar a reprovação do mesmo.
41 |
--------------------------------------------------------------------------------
/atividades/2019.2/MLP/Relatorio_Igor_Rony_Thati_MLP:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/MLP/Relatorio_Igor_Rony_Thati_MLP
--------------------------------------------------------------------------------
/atividades/2019.2/MLP/Relatório MLP - Vilson.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/MLP/Relatório MLP - Vilson.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/MLP/Relatório_Michel.md:
--------------------------------------------------------------------------------
1 | # Previsão de Aprovação do Discente em LOP com MLP
2 |
3 | ## Introdução
4 |
5 | O documento presente foi desenvolvido pelo bacharelando em Ciência e Tecnologia com ênfase em Computação Aplicada da Universidade Federal do Rio Grande do Norte (UFRN), Michel Nunes.
6 | Tráta-se da necessidade de uma previsão de situação de risco de um aluno na disciplina de Lógica de Programação da Escola de Ciência e Tecnologia baseada no seu desempenho nas primeiras semanas no curso.
7 | A base de dados foi disponibilizada pelo professor Orivaldo Vieira e é composta com diversos campos que registram dados como: Notas das provas da primeira e segunda unidades; Quantidade de questões em cada prova; Quantidade de questões feitas por cada discente; Quantidade de questões submetidas em cada lista de exercícios; Dentre outros atributos relevantes à análise.
8 |
9 | ## Metodologia
10 |
11 | O modelo de _machine learning_ utilizado foi o MultLayer Perceptron (MLP), que é o método de criar uma rede neural artificial no qual utiliza-se de um estímulo que iniciará uma atualização de parâmetros até atingir o critério de parada. Cada atualização passa pela regra de correção de erros, procurando diminuí-los a cada iteração. Sendo assim, de fato, o modelo aprende com os testes escolhidos.
12 | Foi utilizada a classe train_test_split da biblioteca sklearn.model_selection para realizar o treinamento e teste, onde 20% (vinte por cento) dos dados foram escolhidos para o teste.
13 | Os atributos foram selecionados com o palpite de que a aprovação do aluno na disciplina depende do seu aprendizado e seu aprendizado depende da sua prática, já que se trata de uma disciplina onde a prática é o que leva ao sucesso. Considerando a quantidade de exercícios propostos, a primeira unidade possui informações suficientes para uma análise de risco.
14 |
15 | ## Códigos
16 | ```py
17 | # CONFIGURANDO A CAMADA DE ENTRADA COM TRÊS NEURÔNIOS, MAIS TRÊS NA CAMADA ESCONDIDA
18 | classifier.add(Dense( activation = 'relu', input_dim = 3, units = 3, kernel_initializer = 'uniform'))
19 |
20 |
21 | ### UMA CAMADA ESCONDIDA COM SEIS NEURÔNIOS
22 | classifier.add(Dense( activation = 'relu', units = 6, kernel_initializer = 'uniform' ))
23 |
24 |
25 | ### CAMADA DE SAÍDA - APENAS UMA SAIDA
26 | classifier.add(Dense( activation = 'sigmoid', units = 1, kernel_initializer = 'uniform'))
27 |
28 | ### Ajuste do RNA ao conjunto de treinamento
29 | classifier.fit(X_train, y_train, batch_size = 5, epochs = 40)
30 | ```
31 | ## Experimentos
32 |
33 | Os parâmetros avaliados foram as notas da primeira prova, a quantidade de submissões de questões da lista até a primeira prova e a quantidade de submissões até a primeira prova as quais o aluno acertou 100%.
34 | ```py
35 | # Parâmetros de entrada e saída
36 | X = dataset.iloc[:,[2,17,20]].values
37 | y = dataset.iloc[:, 11].values
38 |
39 | ### Saída
40 | Taxa de acerto:
41 | 0.8333333333333334
42 | ```
43 | ## Conclusão
44 | De acordo com a saída apresentada, o modelo de machine learning utilizado tem 83% de chance de prever a aprovação de um aluno na disciplina de LOP avaliando seu desempenho na primeira unidade (parâmetros).
45 |
--------------------------------------------------------------------------------
/atividades/2019.2/MLP/modelo_de_relatorio.md:
--------------------------------------------------------------------------------
1 | # Título do Trabalho
2 |
3 | ## Introdução
4 |
5 | * Apresentar os membros da equipe.
6 | * Descrever o problema.
7 | * Descrever a base de dados.
8 |
9 | ## Metodologia
10 |
11 | * Explicar o modelo de _machine learning_ (ML) que você está trabalhando.
12 | * Explicar as etapas do treinamento e teste.
13 | * Caso tenha selecionado atributos, explicar a motivação para a seleção de tais atributos.
14 |
15 | ## Códigos
16 |
17 | * Mostrar trechos de códigos mais importantes e explicações.
18 |
19 | ## Experimentos
20 |
21 | * Descrever em detalhes os tipos de testes executados.
22 | * Descrever os parâmentros avaliados.
23 | * Explicar os resultados.
24 |
--------------------------------------------------------------------------------
/atividades/2019.2/MLP/relatorioLOP_Severino_e_Jorge.md:
--------------------------------------------------------------------------------
1 | # USO DE MLP PARA PREVISÃO DE POSSÍVEL REPROVAÇÃO NA DISCIPLINA DE LOP
2 |
3 | ## Introdução
4 | O grupo é composto por Jorge Luís e Severino Miguel.
5 | O presente relatório visa resolver o problema de uma possível situação de risco de reprovação de um aluno com o uso de uma base de dados e a ferramenta Multilayer Perceptron, para que possam ser tomadas medidas para prevenir esta reprovação.
6 | Para que seja possível realizar esse processo, utilizamos uma base de dados coletada pelos professores de LOP da Escola de Ciências e Tecnologia da UFRN, de 2017.1 até 2019.1
7 |
8 | ## Metodologia
9 | Utilizamos a linguagem de programação python para desenvolver os códigos e dentro dessa linguagem a ferramenta escolhida foi o Multilayer Perceptron, que trata-se de uma rede neural com várias camada de neurônios em alimentação direta.
10 | Esse tipo de rede é composta por camadas de neurônios ligadas entre si por sinapses com pesos. Com isso, aplicamos a função StandardScaler, da biblioteca Sklearn.preprocessing, fizemos os testes com 25% dos dados , restando 75% para treino.
11 | Por fim, para realizar o experimento, selecionamos os dados que foram extraídos no período da primeira unidade
12 | (de 2017.2 até 2019) e aplicamos o algoritmo com a finalidade de obter uma previsão sobre a situação de algum aluno em um tempo hábil e com isso ser tomado alguma medida à respeito.
13 |
14 | ## CódigosAtravés da manipulação dos dados, conseguimos prever uma estimativa de 84% das situações finais, podendo assim ajudar de uma forma mais eficiente os alunos na obtenção de um melhor rendimento acadêmico.
49 |
--------------------------------------------------------------------------------
/atividades/2019.2/MLP/relatorioMLP - JoaoMarcos.md:
--------------------------------------------------------------------------------
1 | # Previsão de aprovação de alunos usando MLP
2 |
3 | ## Introdução
4 | Este trabalho foi desenvolvido por João Marcos Viana Silva, com orientação do prof. Orivaldo Santana.
5 | A atividade tinha como objetivo conseguir prever logo nas primeiras semanas, com uma margem considerável de aceitação,
6 | a aprovação ou não de um aluno da disciplina de Lógica de Programação, ministrada na Escola de Ciências e Tecnologia da UFRN.
7 | Com isso, seria possível orientar melhor os alunos em situação crítica, para que o prognóstico possa ser revertido,
8 | além de conseguir uma análise mais efetiva sobre quais atributos do aluno mais impactam numa eventual aprovação.
9 | A base de dados utilizada foi gerada e disponibilizada pelo professor e equipe do Sistema LoP,
10 | nela estão contidas dezenas de atributos relacionados a resolução de questões por parte dos alunos que cursaram a disciplina no período entre 2017 e 2019, como quantidade e notas.
11 |
12 | ## Metodologia
13 | O modelo utilizado para o desenvolvimento do algoritmo foi o Multilayer Perceptron (MLP), cuja estrutura deriva do Perceptron convencional. A arquitetura do MLP é baseada no próprio cérebro humano, inspirando-se em estruturas como dentritos e neurônios, formando assim as chamadas Redes Neurais Artificiais. Esse tipo de rede neural é constituída por pelo menos três camadas. A primeira delas é a camada de entrada, responsável por captar os dados iniciais e processa-los, aplicando atributos que chamamos de pesos, gerando assim como saída um número real para cada componente. Como toda rede neural está conectada, as saídas da camada de entrada serão utilizadas como entradas na segunda parte do modelo. O nível intermediário das MLPs se dá nas camadas escondidas, as quais recebem as saídas da camada inicial e repetem o seu procedimento, processando os dados, corrigindo os pesos e gerando novos valores. Ao final, os valores gerados nas camadas escondidas passam por uma regra de propagação, o que efetivamente classificará cada dado, gerando como resposta o resultado da previsão.
14 |
15 | A cada interação dos dados com as camadas o algoritmo vai tentanto corrigir os erros e ajustar os pesos para aproximar cada vez mais o valor daquele considerado o ideal, que representa a classe do qual ele pertence. Sendo assim, é necessário que a rede neural interaja com uma série de dados antes de ser capaz de realizar sua previsão mais embasada. Esse processo é chamado de treinamento. Somente após isso, o algoritmo estará hábil para realizar os testes, onde classificará dados que não teve contato previamente, checando assim sua acurácia.
16 | Para nossa atividade 75% dos dados foram usados para o treinamento da rede neural, enquanto os 25% restantes foram reservados para os testes.
17 |
18 | Devido a imensa quantidade de dados e atributos na base de dados do sistema LoP, fez-se necessário realizar uma espécie de filtragem manual, selecionando um grupo de atributos que julgamos ter mais influência na previsão. Assim, o processo se torna mais rápido e mais eficiente, já que o algoritmo não precisa analisar dados que podem não ter influência alguma na aprovação ou não do aluno. Além disso, o objetivo do trabalho é ter um diagnóstico para o aluno já na primeira unidade, enquanto ainda há tempo para uma mudança de postura. Então, não é viável utilizar dados referentes a metade final do semestre.
19 |
20 | Após uma série de testes, os atributos que mais se mostraram relevantes foram:
21 | * **notaProva1** - Referente a nota do aluno na primeira prova;
22 | * **igualACeml123** - Quantidade de submissões em que o aluno atingiu 100% de acerto;
23 | * **subListaExer45** - Quantidade de submissões do aluno nas listas de exercícios durante as semanas 4 e 5.
24 |
25 | Analisando tais atributos, podemos concluir que a nota da primeira prova é o mais forte indicador do desempenho do aluno, seguido pela quantidade de quetões certas nas primeiras listas, o que indica que alunos com mais acertos nas listas tendem a ter melhor desempenho. Por fim, a quantidade de submissões durante a quarta e quinta semanas, geralmente o período da primeira avaliação, revela o quanto o aluno está se preparando.
26 |
27 | ## Códigos
28 | A atividade foi desenvolvida integralmente na linguagem Python, utilizando as bibliotecas Pandas e Keras.
29 |
30 | *
7 | O presente relatório visa identificar a possibilidade de aprovação ou reprovação da disciplina de LOP por meio de um banco de dados contendo
8 | informações de atividades submetidas. Para isso, foi utilizado a linguagem de programação python para desenvolver os códigos e dentro dessa linguagem a ferramenta escolhida foi uma Rede Neural de aprendizado não supervisionado (SOM).
9 |
10 | ## Metodologia
11 |
12 | A rede SOM é bastante utilizada quando se tem dataset com muitos atributos, podendo ter uma saída com um número menor de dimensões.
13 | Essas saídas são denominadas de map (ou feauture map).
14 | Essa rede possuí um sistema que é baseado em aprendizagem competitiva. Os neurônios competem na busca de responder (quem será ativado) através de um conjunto de entradas, o neurônio vencedor será chamado de winner.
15 |
16 | ## Coleta dos dados
17 | A base de dados foi obtida da turma de Lógica de Programação da Escola de Ciência e Tecnologias da UFRN (2017.1 até 2019.1).
18 | O banco de dados contém atividades submetidas ao longo de 21 semanas.
19 |
20 | ## Códigos
21 |
22 | ### Trechos principais:
23 | Trecho em que foi inserida as devidas bibliotecas e base de dados manipulada:
24 |
25 | ```py
26 |
27 | import pandas as pd
28 | import numpy as np
29 | dataSet = pd.read_csv("https://raw.githubusercontent.com/ect-info/ml/master/dados/lop_submissao_semana.csv",index_col=False )
30 | dataSet.head()
31 | ```
32 |
33 | Para o manuseio do código da rede SOM, foi manipulado o trecho do código abaixo com a finalidade de mudar o status da situação do aluno, mudança de uma string para um inteiro.
34 |
35 |
0 - APROVADO
36 |
1 - APROVADO POR NOTA
37 |
2 - REPROVADO
38 |
3 - REPROVADO POR NOTA
39 |
4 - REPROVADO POR NOTA E FALTA
40 |
41 | ```py
42 | dataSet['situacao'] = pd.Categorical(dataSet['situacao'])
43 | dataSet['situacao'] = dataSet['situacao'].cat.codes
44 | ```
45 |
46 | Trecho do código em que é selecionado todas as colunas do banco de dados que contém as submissões das atividades (X_train),
47 | assim como a situação final do aluno (target_train).
48 |
49 | ```py
50 | X_train = dataSet.iloc[:, 2:22].values
51 | target_train = dataSet.iloc[:,25].values
52 |
53 | ```
54 | Código abaixo contendo as configurações de treinamento da rede.
55 |
56 | ```py
57 | # Treinando a rede SOM
58 | tamanhoXdaRede =5;
59 | tamanhoYdaRede = 5;
60 |
61 | quantidadeCaracteristicas = col
62 | from minisom import MiniSom
63 | som = MiniSom(x = tamanhoXdaRede, y = tamanhoYdaRede, input_len = 20, sigma = 1.0, learning_rate = 0.3)
64 | som.pca_weights_init(X_train)
65 | ```
66 |
Montando matriz de aprovados e reprovados pós treinamento, código abaixo.
67 |
68 | ```py
69 | # encontra o vencedor
70 | x = X_train[1,:]
71 | pos = som.winner(x)
72 | # matriz de zeros para contador de aprovados
73 | MContAp = np.zeros((tamanhoXdaRede,tamanhoYdaRede))
74 | # matriz de zeros para o contador de reprovados
75 | MContT = np.zeros((tamanhoXdaRede,tamanhoYdaRede))
76 | cont = 0;
77 | for x in X_train:
78 | pos = som.winner(x)
79 | if (Y_train[cont] <= 1): #Aprovado
80 | MContAp[pos] += 1
81 | MContT[pos] += 1
82 | cont= cont+1
83 | ```
84 |
Impressão da matriz abaixo.
85 | ```py
86 | print("Total:")
87 | print(MContT)
88 |
89 | print("Aprovados")
90 | print(MContAp)
91 | ```
92 |
93 |
Matriz gerada abaixo.
94 |
95 | ```py
96 | Total:
97 | [[ 38. 22. 22. 64. 43.]
98 | [ 23. 22. 17. 26. 202.]
99 | [ 34. 26. 36. 23. 57.]
100 | [ 30. 36. 15. 42. 29.]
101 | [ 23. 10. 24. 19. 65.]]
102 | Aprovados
103 | [[33. 18. 15. 44. 15.]
104 | [21. 16. 10. 14. 57.]
105 | [31. 24. 26. 20. 36.]
106 | [26. 28. 15. 36. 21.]
107 | [21. 10. 23. 19. 60.]]
108 | ```
109 |
Gráfico de pizza obtido atráves dos dados (Azul aprovados, LARANJA reprovados)
110 |
111 | 
112 |
113 | #### Link para código fonte:
114 | Clique aqui
115 |
116 |
117 | ## Conclusão
118 |
119 |
120 | Após a utilização do código pode-se verificar que existe ao menos três grupos com probabilidade de 100% de aprovação assim como também alguns grupos em que possuem uma probabilidade acima dos 50% de reprovação. Com essas informações em mãos é possível efetuar ações com a finalidade de reverter a situação dos alunos com risco de reprovação.
121 |
122 |
123 |
124 | ## Referência
125 |
126 | https://medium.com/neuronio-br/descobrindo-som-uma-rede-neural-com-aprendizado-não-supervisionado-f22bc1e55eca
127 |
128 |
129 |
--------------------------------------------------------------------------------
/atividades/2019.2/SOM/Relatorio_Michel.md:
--------------------------------------------------------------------------------
1 | # Identificar e Agrupar Indivíduos de Acordo com Seus Perfis
2 |
3 | ## Introdução
4 |
5 | * O experimento foi realizado por Michel Nunes, discente do curso de Ciência e Tecnologia com Ênfase em Computação Aplicada da UFRN,orientado pelo professor Orivaldo Santana.
6 | * O objetivo é agrupar um indivíduo com determinado perfil a um conjunto de indivíduos com perfis parecidos e que tiveram seus dados previamente analisados.
7 | * A base de dados a ser analisada é composta por diversos registros da quantidade de subimissões semanais dos exercícios propostos pelos professores da disciplina de Lógica de Programação da ECT - UFRN a partir de 2017.2.
8 |
9 | ## Metodologia
10 |
11 | * O modelo de Machine Learning que está sendo trabalhado é o da Rede SOM (Self Organized Maps, ou Redes Neurais Auto-Organizáveis). É um modelo não supervisionado, ou seja, temos um conjunto de dados e precisamos extrair algo útil desses dados, embora não tenhamos mostrado ao sistema algumas saídas desejadas. É um modelo amplamente utilizado para agrupamento de padrões (Clusters), redução de dimensionalidade, Mineração de dados, Extração de características e Classificação, pois, seu uso como uma ferramenta matemárica é muito interessante para demonstrar dados de baixa dimensionalidade a partir de um conjunto de dados com alta dimensionalidade.
12 | * Foram necessárias algumas instalações de pacotes e alterações na base de dados:
13 | Instalação dos Pacotes da MiniSOM:
14 | ```
15 | # Instalando a MiniSOM
16 | !pip install minisom
17 | ```
18 | O código a seguir obtem os dados da coluna com valores qualitativos na base de dados e altera seus dados para valores numéricos
19 | ```
20 | from sklearn import preprocessing
21 | le = preprocessing.LabelEncoder()
22 | dataSet["situacao"] = le.fit_transform(dataSet["situacao"])
23 | ```
24 |
25 | ## Códigos
26 | Alocando os valores de entrada e saída
27 | ```
28 | X = dataSet.iloc[:, 2:23].values
29 | y = dataSet.iloc[:, 25].values
30 | ```
31 | Obtendo o tamanho da rede e ativando o treinamento da rede SOM
32 | ```
33 | tamanhoXdaRede = 6;
34 | tamanhoYdaRede = 6;
35 |
36 | quantidadeCaracteristicas = col
37 | from minisom import MiniSom
38 | som = MiniSom(x = tamanhoXdaRede, y = tamanhoYdaRede, input_len = quantidadeCaracteristicas, sigma = 1.0, learning_rate = 0.4)
39 | som.pca_weights_init(X)
40 | ```
41 |
42 | ## Experimentos
43 |
44 | O treinamento com 50000 iterações obteve melhores resultados na classificação dos dados
45 | ```
46 | som.train_random(data = X, num_iteration = 50000)
47 | ```
48 | * Ao final do treinamento, a rede retorna um vetor de pesos treinados que podem ser utilizados para plotar os gráficos dos dados classificados de forma bidimensional.
49 | ```
50 | pesos = som.get_weights()
51 | ```
52 | * Os resultados são obtidos através da obtenção e análise dos gráficos. Observe que, no conjunto de gráficos abaixo, aqueles que possuem um "perfil de aprovação", ou algo semelhante a isso, estão mais próximos. O mesmo se observa daqueles com "perfil de reprovação".
53 |
54 | 
55 |
56 | 
57 |
--------------------------------------------------------------------------------
/atividades/2019.2/SOM/Relatório III - SOM (Luís Fernando Tavares).docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SOM/Relatório III - SOM (Luís Fernando Tavares).docx
--------------------------------------------------------------------------------
/atividades/2019.2/SOM/RelatórioSOMAprovacaoLOP.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SOM/RelatórioSOMAprovacaoLOP.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/SOM/Relatório_SOM_Alysson_Lima.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SOM/Relatório_SOM_Alysson_Lima.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/SOM/SOM_Leandro_Tobias.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SOM/SOM_Leandro_Tobias.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/SOM/SOM_Lucas_Gualberto.md:
--------------------------------------------------------------------------------
1 | # Título do Trabalho
2 |
3 | ## Introdução
4 |
5 | O sistema LOP dispõe de dados de submissões semanais de atividades no sistema por alunos e é em cima dessas submissões
6 | que foi criada a base de dados para essa atividade. O objetivo principal do trabalho com essa base de dados é criar um perfil de aprovação dos alunos por submissão de exercícios, desse forma estimando a porcentagem de aprovação dele de acordo com suas submissões de atividades semanais.
7 |
8 | ## Metodologia
9 |
10 | O modelo de machine learning utilizado para a clusterização dos dados de submissões foi a SOM, self-organizing map. Consiste de uma rede neural não supervisionada que é responsável por criar um mapa dimensionado que descretiza a base de dados e a organiza de forma adequada. A SOM conta com um treinamento a partir de valores de entrada escritos na base de dados. Após o processo de treinamento, ele passará por uma fase de mapeamento, a qual sera responsável por classificar de forma automática a base de dados em neurônios, organizando esses neurônios de forma automática.
11 |
12 | * Explicar o modelo de _machine learning_ (ML) que você está trabalhando.
13 | * Explicar as etapas do treinamento e teste.
14 | * Caso tenha selecionado atributos, explicar a motivação para a seleção de tais atributos.
15 |
16 | ## Códigos
17 |
18 | * Mostrar trechos de códigos mais importantes e explicações.
19 |
20 | ## Experimentos
21 |
22 | * Descrever em detalhes os tipos de testes executados.
23 | * Descrever os parâmentros avaliados.
24 | * Explicar os resultados.
25 |
--------------------------------------------------------------------------------
/atividades/2019.2/SOM/Vilson - Rede SOM.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SOM/Vilson - Rede SOM.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/SOM/modelo_de_relatorio.md:
--------------------------------------------------------------------------------
1 | # Título do Trabalho
2 |
3 | ## Introdução
4 |
5 | * Apresentar os membros da equipe.
6 | * Descrever o problema.
7 | * Descrever a base de dados.
8 |
9 | ## Metodologia
10 |
11 | * Explicar o modelo de _machine learning_ (ML) que você está trabalhando.
12 | * Explicar as etapas do treinamento e teste.
13 | * Caso tenha selecionado atributos, explicar a motivação para a seleção de tais atributos.
14 |
15 | ## Códigos
16 |
17 | * Mostrar trechos de códigos mais importantes e explicações.
18 |
19 | ## Experimentos
20 |
21 | * Descrever em detalhes os tipos de testes executados.
22 | * Descrever os parâmentros avaliados.
23 | * Explicar os resultados.
24 |
--------------------------------------------------------------------------------
/atividades/2019.2/SOM/som_bruno_guedes_spinelli.md:
--------------------------------------------------------------------------------
1 | # Previsão da situação final (aprovação ou não) de alunos na disciplina de Lógica de Programação (LoP) utilizando Self-Organizing Map (SOM)
2 |
3 | ## Introdução
4 |
5 | Este trabalho foi realizado por Bruno Guedes Spinelli, aluno do curso de Engenharia Biomédica da UFRN.
6 |
7 | Existe uma grande evasão de alunos durante a disciplina de Lógica de Programação (LoP) derivada de diversos motivos, mas acredita-se que o maior causador dessa evasão seja a desmotivação decorrente das notas baixas do aluno. O objetivo deste trabalho é criar rede neural do tipo Self-Organizing Map (SOM) para tentar prever a situação final do aluno (reprovado ou aprovado) na disciplina LoP a partir da quantidade de submissões semanais do aluno, assim tornando possível a realização de feedbacks durante a disciplina que estimulem uma maior interação do aluno com o conteúdo ministrado e consequentemente aumentando sua chance de tirar notas melhores e diminuindo desta forma a evasão dos alunos.
8 |
9 | A base de dados utilizada para treinar e testar a rede pode ser encontrada clicando [aqui], nela podemos observar as seguintes classificações de dados:
10 |
11 | * **anoSubmissao, anoSigaa e anoTurma:** período em que foram realizadas as submissóes de atividades.
12 | * **semana 1 - 21:** quantidade de atividades submetidas por semana.
13 | * **descricaoTurma:** descrição da disciplina, turma e subturma.
14 | * **turma:** descrição da turma do aluno.
15 | * **situacao:** situação final do aluno.
16 |
17 | ## Metodologia
18 |
19 | O Self-Organizing Map (SOM) é um tipo de rede neural artificial não supervisionada, bastante utilizada para a visualização de dados de alta dimensionalidade, treinada para produzir uma representação capaz de descrever as amostras de entradas em baixa-dimensão (geralmente duas dimensões) chama de mapa. A principal diferença encontrada no SOM em comparação com outros tipos de rede neural artificial é quanto a sua forma de aprendizagem, na rede SOM a aplica-se o aprendizado competitivo, em que os pesos dos neurônios são comparados com os pesos do dado de entrada e o vencedor (aquele que possuir os pesos mais próximos dos do dado de entrada) tem seus pesos e os pesos de seus vizinhos atualizado.
20 |
21 | ![som1]
22 |
23 | **Figura 1 - Representação de um SOM**
24 |
25 | Para tentar prever a situação final do aluno através da quantidade de submissões de atividades por semana, o treino da rede SOM presente neste trabalho foi realizada com as seguintes colunas da base de dados fornecida:
26 |
27 | **semana 1 - 21**
28 |
29 | ## Códigos
30 |
31 | A rede neural foi codificada utilizando a linguagem de programação Python. O programa utilizou as bibliotecas ```pandas``` para auxiliar no processo de importar o arquivo de dados , a biblioteca ```numpy``` para realizar operações matemáticas e também foi utilizado a biblioteca ```minisom``` para criar a rede:
32 |
33 | ```py
34 | import pandas as pd
35 | import numpy as np
36 | from minisom import MiniSom
37 | dataset = pd.read_csv("https://raw.githubusercontent.com/ect-info/ml/master/dados/lop_submissao_semana.csv",index_col=False )
38 | dataset.head()
39 | ```
40 | Os dados da coluna ¨situacao¨ foram substituídos por um classificador binário, sendo dado o valor 1 para alunos aprovados e o valor 0 para alunos reprovados, e em seguida os classificadores para a realização do treino e teste da rede foram selecionados, para X (submissão de atividades por semana) foram selecionados os dados das colunas ¨semana 1¨ até ¨semana 21¨ (colunas de 2 a 22) e para Y (situação final do aluno) foi selecionados os dados da coluna ¨situacao¨ (coluna 25):
41 |
42 | ```py
43 | dataset.replace('APROVADO',1,inplace=True)
44 | dataset.replace('APROVADO POR NOTA',1,inplace=True)
45 | dataset.replace('REPROVADO',0,inplace=True)
46 | dataset.replace('REPROVADO POR NOTA',0,inplace=True)
47 | dataset.replace('REPROVADO POR MÉDIA E POR FALTAS',0,inplace=True)
48 |
49 | X = dataset.iloc[:, 2:23].values
50 | Y = dataset.iloc[:, -3].values
51 | ```
52 |
53 | Logo após, foi realizada a criação da rede SOM em que foram passados parâmetros como tamanho da rede (10 x 10), quantidade de parâmetros de entrada (21), sigma (1.0) e a taxa de aprendizado (0,5) e em seguida o treinamento da rede:
54 |
55 | ```py
56 | som = MiniSom(x = 10, y = 10, input_len = 21, sigma = 1.0, learning_rate = 0.5)
57 | som.random_weights_init(X)
58 | som.train_random(data = X, num_iteration = 40000)
59 | ```
60 |
61 | ## Experimentos
62 |
63 | Após o treino da rede, foram geradas duas matrizes, uma contendo o total de alunos enquadrados pelos pesos dos neurônios e o outro o total de alunos aprovados enquadrados nos pesos dos neurônios:
64 |
65 | ![resultado1]
66 |
67 | **Figura 2 - Alunos totais por neurônio da rede x alunos aprovados por neurônio da rede**
68 |
69 | Em seguida foram gerados gráficos de pizza representando a quantidade de alunos aprovados (azul) x alunos reprovados (amarelo) por neurônio:
70 |
71 | ![resultado2]
72 |
73 | **Figura 3 - Alunos aprovados x reprovados por neurônio**
74 |
75 | Também foi selecionado um neurônio que demonstra pesos que levam a alta chance de aprovação do aluno na disciplina de LoP:
76 |
77 | ![resultado3]
78 |
79 | **Figura 4 - Alta chance de aprovação na disciplina de LoP: quantidade de submissões por semana**
80 |
81 | Por último, alta chance de reprovação do aluno na disciplina de LoP:
82 |
83 | ![resultado4]
84 |
85 | **Figura 5 - Alta chance de reprovação na disciplina de LoP: quantidade de submissões por semana**
86 |
87 |
88 |
89 | [aqui]: https://github.com/ect-info/ml/blob/master/dados/lop_submissao_semana.csv
90 | [resultado1]: https://github.com/brunospinelli/ECT-TAI1/blob/master/imagens/2019-10-25-222310_1920x1080_scrot.png
91 | [resultado2]: https://github.com/brunospinelli/ECT-TAI1/blob/master/imagens/2019-10-25-223649_1920x1080_scrot.png
92 | [resultado3]: https://github.com/brunospinelli/ECT-TAI1/blob/master/imagens/2019-10-25-224310_1920x1080_scrot.png
93 | [resultado4]: https://github.com/brunospinelli/ECT-TAI1/blob/master/imagens/2019-10-25-224311_1920x1080_scrot.png
94 | [som1]: http://ivape3.blogs.uv.es/files/2015/03/kohonen1.png
95 |
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/Leandro_Tobias2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SVM/Leandro_Tobias2.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/Lucas_e_Luis2.md:
--------------------------------------------------------------------------------
1 | # Detecção de posição para uso e controle de dispositivos públicos a partir de Support Vector Machine
2 |
3 | ## Introdução
4 |
5 | A equipe de desenvolvimento é formada por Lucas Figueredo Varela Alves e Luis Felipe Vanin Martins, discentes da disciplina de Tópicos Avançados em Informática I, ministrada pelo docente Orivaldo Vieira de Santana.
6 |
7 |
8 | O portal Healthline publicou, em 2018, uma matéria a respeito de bactérias presentes em telas sensíveis ao toque ao redor do mundo. Por exemplo, em telas de check-in de aeroportos ou de museus interativos, encontram-se cerca de 253.857 unidades de colônia por área de polegar, elas são originadas, principalmente, da boca, do intestiono e do nariz dos usuários. Dentre os possíveis danos, a bactéria Enterococcus faecalis pode causar desde febre à meningite e infecção urinária. Nesse contexto, faz-se importante dispor de uma alternativa plausível na substituição desses dispotivos em um meio de acesso público.
9 |
10 |
11 | A sugestão é, então, uma tecnologia treinada a partir da Support Vector Machine(SVM) com o auxílio da PoseEstimation disponibilizada pelo TensorFlow à guisa de identificar decisões do usuário ao manusear equipamentos desse tipo.
12 |
13 |
14 |
15 | ## Metodologia
16 |
17 | No campo do aprendizado de máquina, SVM é um tipo de técnica de aprendizado baseado em classificações supervisionadas calculadas a partir de regressões analíticas. Na prática, esse modelo representa os dados como pontos no espaço que são divididos por uma distância, a qual é a maior possível, no intuito de distinguir tais classes. Além da classificação linear, esse modelo também pode ter resultados satisfatórios em problemas não lineares, a partir do kernel trick, o qual possibilita a aplicação dos métodos em espaços com N dimensões.
18 |
19 |
20 | No banco de dados para o modelo, faz-se necessário a presença de informações do tipo de coordenadas (x, y) seguidos da classe ao qual pertencem, neste caso, tratando de museus, apresentar e parar a execução da obra. Com esses dados, busca-se um hiperplano, que é uma função de dimensão N, a qual tem a maior distância de um ponto X mais próximo de cada classe.
21 |
22 |
31 | Neste problema, as informações utilizados são as posições x e y referentes às partes do corpo, como nariz, cotovelo, olhos etc. Elas foram extraídas dos frames de um vídeo que capturou momentos nos quais a pessoa está com um ou dois braços/cotovelos alinhados com o tórax, sendo um o comando de iniciar a apresentação e, dois, o de finalizá-la.
32 |
33 |
34 | ## Códigos
35 |
36 | Uma das etapas mais importantes é a divisão do database em treino e teste, para um total de 84 capturas, utilzou-se uma divisão de 25% para o teste e o restante para treinar o modelo.
37 |
38 |
39 | ```py
40 | from sklearn.model_selection import train_test_split
41 | X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
42 | ```
43 |
44 | A etapa mais importante do código é a utilização do método fit do objeto referente à biblioteca do modelo utilizado. Com ele, a base de dados é inserida para calcular a equação mais adequada para o hiperespaço.
45 |
46 |
47 | ```py
48 | from sklearn.svm import SVC
49 | from sklearn.pipeline import Pipeline
50 |
51 | from sklearn.svm import SVC
52 | classifier = SVC(kernel = 'linear', random_state = 0)
53 | classifier.fit(X_train, y_train)
54 | ```
55 |
56 |
57 | Em seguida, é possível utilizar o método predict para analisar se o modelo está retornando respostas adequadas. Uma alternativa, que é utilizada, é a matrix de confusão, que permite a visualização de dados que foram classificados erroneamente para uma classe ou outra.
58 |
59 |
60 | ```py
61 | y_pred = classifier.predict(X_test)
62 | y_pred2 = classifier.predict(X_train)
63 | from sklearn.metrics import confusion_matrix
64 | cm = confusion_matrix(y_test, y_pred)
65 | cm2 = confusion_matrix(y_train, y_pred2)
66 | ```
67 |
68 | ## Experimentos
69 | A matriz de confusão teve o seguinte retorno:
70 | ```py
71 | [[12 0]
72 | [ 0 9]]
73 |
74 | [[42 0]
75 | [ 0 21]]
76 | ```
77 |
78 |
79 | Com isso, fez-se possível observar que não ocorreu desvio na execução do algoritmo para nenhuma das labels, sendo todas as imagens bem categorizadas.
80 | Em suma, a detecção precisa das partes do corpo pela PoseEstimation, a qual retornou, aparentemente, com boa precisão os valores para serem usados no algoritmo de SVM, possibilitando, assim, sua execução para aplicações diversas, como as citadas neste trabalho.
81 |
82 | Um desafio posterior a ser a identificação de movimentos mais complexos, com o intuito de aumentar a variedade de opções disponíveis aos usuários, em termos de ações. Isso seria necessário para contextos mais complexos, como uso em caixas de banco, nos quais oferecem diversas opções de utilização.
83 |
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/MacielBarbosa.md:
--------------------------------------------------------------------------------
1 | # Identificar posição de uma pessoa através pose estimation.
2 |
3 | ## Introdução
4 |
5 | O trabalho foi desenvolvido por Maciel Barbosa como único membro.
6 |
7 | A proposta é identificar se a pessoa de uma imagem está em pé ou sentada. Para isso precisamos obter parâmetros que descrevam os diferentes tipos de posição. Foi utilizada uma rede neural de pose estimation para, a partir das imagens, retornar os pixels de uma série de articulações da pessoa presente na mesma.
8 |
9 | A base de dados foi obtida através de uma api que consome o modelo de pose estimation do tensowflow. Outro pequeno projeto foi usado para geras os CSVs com esses dados. As imagens foram cedidas por um amigo, totalizando 152 em pé e 150 sentado.
10 |
11 | ## Metodologia
12 |
13 | O modelo utilizado foi o Support Vector Machine (SVM). Trata-se de um algoritmo de aprendizado supervisionado que utiliza uma função kernel para mapear um conjunto de pontos de dados. A limite de decisão é representado por um hiperplano, que faz a separação dos dados em classes.
14 |
15 | Os dados gerados na api exportado em csv é importado através do pandas. A seguir, o valores e os labels são extraídos do dataset, sendo definido 25% para teste. Após isso, os dados são normalizados para o mapeamento e o treinamento é de fato realizado.
16 |
17 | Obtei por manter todos os parâmentros gerados na api do pose estimation. Acredito que os dados em excesso não influenciaria no resultado final.
18 |
19 | ## Códigos
20 |
21 | Utilizei o código exemplo disponibilizado pelo professor, fazendo algumas adequações.
22 |
23 | ```
24 | X = dataset.iloc[:,2:33].values
25 | y = dataset.iloc[:,34].values
26 | ```
27 | Nesse trecho é feita a divisão dos dados exportados do csv. O `X` são os dados. Já o `y` lista a categoria na qual cada dado de `X` se encaixa. Nesse projeto as categorias (labels) são `sentado` e `em-pe`.
28 |
29 | ```
30 | X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
31 | ```
32 |
33 | Acima, é feita a separação entre dados de treinamento e de teste. O teste contém 25% do total dos dados.
34 |
35 | ```
36 | sc = StandardScaler()
37 | X_train = sc.fit_transform(X_train)
38 | X_test = sc.transform(X_test)
39 | ```
40 |
41 | Padronização dos dados através de uma função kernel. Nesse momento é feito uma adequação que possibilita a separação das classes.
42 |
43 | ```
44 | classifier = SVC(kernel = 'linear', random_state = 0)
45 | classifier.fit(X_train, y_train)
46 | ```
47 |
48 | Agora, o treinamento é executado. Este encontra o hiperplano que melhor separa os dados.
49 |
50 | ## Experimentos
51 |
52 | ```
53 | y_pred = classifier.predict(X_test)
54 | print(y_test[0:35])
55 | print(y_pred[0:35])
56 | ```
57 |
58 | Comparando os dados do grupo de teste com as respectivos resultados do treinamento é possível perceber uma boa margem de acerto.
59 |
60 | ```
61 | [[38 0]
62 | [ 5 33]]
63 | ```
64 |
65 | A matriz de confusão nos revela que a rede confunde algumas imagens `sentado` como `em-pe`.
66 |
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/PoseEstimation_Gabriel_Leonardo_Samuel.md:
--------------------------------------------------------------------------------
1 | # Identificador de posições
2 |
3 | ## Introdução
4 | O Support Vector Machine (SVM) é um conceito utilizado em Machine Learning para identificar padrões em dados e tentar separá-los de acordo com suas classificações. O objetivo dsse trabalho é utilizar um programa de SVM para analisar o posicionamento de uma pessoa por meio de imagens.
5 |
6 | ### Contribuidores
7 |
8 | #### Samuel Amico Fidelis, aluno da Universidade Federal do Rio Grande do Norte do curso de bacharelado em engenharia mecatrônica. Para eventuais dúvidas, entrar em contato pelos
9 | meios abaixo:
10 | - [Github](https://github.com/samuelamico/MachineLearning)
11 | - [Site](https://samuelamico.github.io/)
12 |
13 | #### Leonardo Queiroz, aluno de bacharelado em engenharia mecânica na Universidade Federal do Rio Grande do Norte, contato em:
14 | - [Github](https://github.com/leocqueiroz)
15 |
16 | #### Gabriel Varela, aluno da Universidade Federal do Rio Grande do Norte do curso de bacharelado em engenharia mecatrônica. Contato em:
17 | - [Github](https://github.com/gabrielvrl)
18 | - [Site](https://gabrielvrl.github.io/)
19 |
20 | ### Problema
21 | O problema consiste em analisar a imagem de uma pessoa, onde será possível identificar a posição a qual ela está. Há duas posições, sentado e em pé. O programa irá identificar partes predeterminadas do corpo da pessoa e, por meio de um plano bidimensional irá identificar o posicionamento de cada parte. Partes como pé, olho, mão, etc. Identificando corretamente cada posição, faz-se possível estimar o posicionamento da pessoa. O código completo se baseia em uma interface onde o usuário escolhe as posições para serem analisadas. Para cada posição, o usuário deve salvar os pontos para popular o arquivo de treino. Para salvar os pontos, as letras 'c','b' por exemplo, salvam respectivamentes as coordenadas de cada ponto para a classe Cima e Baixo no arquivo de treino. Após salvar a quantidade que o usuário achar boa de pontos ele deve selecionar a opção de validação, onde o modelo de ML SVM é posto em ação e a partir daí toda posição que o usuário fizer o programa irá retornar o nome da posição que ele está fazendo, mediante as posições que ele mesmo treinou. A figura abaixo ilustra o processo:
22 |
23 |
24 | 
25 |
26 |
27 | ### Base de Dados
28 | A base de dados é gerada pelo usuário, quando este seleciona a opção de Salvar Classe. A função de salvar() fica responsável de passar as posições x,y de cada ponto em ordem escolhida pelo usuário e com a devida classe que esse escolheu armazenar. Neste caso a classe é escolhida pelo teclado, onde por exemplo 'b' significa salvar na classe posição baixo.
29 | O arquivo Dados.txt armazena os dados enviados pela função no formato que segue na imagem baixo.
30 |
31 | 
32 |
33 | ## Metodologia
34 |
35 | Modelo de Machine Learning UtilizadoO Machine Learning (ML) utilizado foi o SVM, o qual analisa os dados fornecidos pelo usuário e os separa em duas categorias diferentes, a partir de padrões identificados pelo próprio programa, ou seja, o SVM é um classificador binário não probabilístico. O SVM tende à encontrar uma separação dos dados por meio de uma curva a qual tende à maximizar a
36 | distância entre os pontos mais próximos em relação à cada categoria. De forma resumida, o SVM classifica os dados entre duas configurações distintas e os separa por meio de uma maximização de distância dos pontos para cada categoria.
37 |
38 | ### Atributos escolhidos
39 | Para realizar a simulação desenvolvida no programa, foram utilizados ao total 12 parâmetros, o qual cada um se refere à um ponto predeterminado para uma parte do corpo da pessoa na imagem. Dentre esses parâmetros, estão:
40 | ```
41 | 1° - Mão direita
42 | 2° - Cotovelo direito
43 | 3° - Peito
44 | 4° - Cotovelo esquerdo
45 | 5° - Mão esquerda
46 | 6° - Barriga
47 | 7° - Joelho direito
48 | 8° - Pé direito
49 | 9° - Joelho esquerdo
50 | 10° - Pé esquerdo
51 | 11° - Coxa direita
52 | 12° - Coxa esquerda
53 | ```
54 | ### Etapas do treinamento
55 | Inicialmente foi dividido os dados fornecidos entre treino e teste e, para isso, foi utilizado um percentual de 75% para treino e os demais 25% para teste.
56 | Após a separação, é utilizado um método de feature scaling para normalizar a distância das variáveis independentes, utilizando a biblioteca sickit-learn. Em seguida é feito um fitting para adequar os dados da fase de treino.
57 |
58 | ### Etapas do teste
59 | Com o treino realizado, é feito uma predição utilizando a biblioteca do scikit-learn para simular os resultados dos dados de teste. Com o treino realizado, é feita a matriz de confusão a qual será responsável para a visualização do desempenho do algoritmo.
60 |
61 | ## Experimentos
62 | Para a realização do teste foram utilizadas 38 imagens, as quais foram analisadas e codificadas para identificar as coordenadas de cada parte do corpo. O rastreamento de cada parte do corpo se dá por meio de um ponto determinado de acordo com os parâmetros mencionados anteriormente.
63 | A execução do algoritmo resulta em duas classes já mencionadas, em pé e sentado.
64 | Para visualizar o gráfico de resultados do treinamento, foi utilizado o seguinte código:
65 | ```py
66 | # Visualising the Training set results
67 | from matplotlib.colors import ListedColormap
68 | X_set, y_set = X_train, y_train
69 |
70 | X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01),
71 | np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01))
72 | Xpred = np.array([X1.ravel(), X2.ravel()] + [np.repeat(0, X1.ravel().size) for _ in range(22)]).T
73 | # Xpred now has a grid for x1 and x2 and average value (0) for x3 through x13
74 | pred = classifier.predict(Xpred).reshape(X1.shape) # is a matrix of 0's and 1's !
75 | plt.contourf(X1, X2, pred,
76 | alpha = 0.75, cmap = ListedColormap(('red', 'green')))
77 |
78 |
79 | classe = ['cima','baixo']
80 | plt.xlim(X1.min(), X1.max())
81 | plt.ylim(X2.min(), X2.max())
82 | for i, j in enumerate(np.unique(y_set)):
83 | plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1],
84 | c = ListedColormap(('red', 'green'))(i), label = classe[j])
85 | plt.title('SVM (Training set)')
86 | plt.xlabel('Position')
87 | plt.ylabel('Classe')
88 | plt.legend()
89 | plt.show()
90 | ```
91 | Pelo gráfico abaixo mostrado é possível perceber que o código identificou e classificou cada posicionamento de forma coerente, além de os dividir corretamente em dois grupos distintos.
92 |
93 | 
94 |
95 | Portanto, com o algorítmo realizado, foi possível separar e classificar cada uma das posições esperadas de acordo com a imagem corretamente, ou seja, o resultado esperado coincidiu com o obtido.
96 |
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/Relatorio II - SVM (Luis Fernando Tavares).docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SVM/Relatorio II - SVM (Luis Fernando Tavares).docx
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/Relatorio_SVM_Alysson_Lima:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SVM/Relatorio_SVM_Alysson_Lima
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/Relatório - SVM_Igor_Rony_Thatiana.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SVM/Relatório - SVM_Igor_Rony_Thatiana.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/Relatório SVM - Vilson.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/atividades/2019.2/SVM/Relatório SVM - Vilson.pdf
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/Relatório_Michel_SVM.md:
--------------------------------------------------------------------------------
1 | # Estimar Posição de uma Pessoa com Aprendizado de Máquina
2 |
3 | ## Introdução
4 |
5 | * O projeto foi desenvolvido por Michel Nunes, orientado pelo professor Orivaldo Santana, e consiste em desenvolver um algorítmo em python,
6 | utilizando bibliotecas criadas para trabalhar com conceitos de Aprendizado de Máquina, que seja capaz de decidir, através de uma série de
7 | dados previamente apresentados, se uma pessoa está sentada ou em pé.
8 | * A base de dados foi criada a partir de um vídeo, onde realizo o movimento de sentar-se. A partir disso foram extraídos vários frames
9 | executando o comando mostrado pelo colega Lucas em github.com/Lucasgsr14:
10 | ```
11 | $ ffmpeg -i vid.mp4 -r 20 img%d.jpg
12 |
13 | ```
14 | Onde o vídeo é dividido em 20 frames a cada segundo e a imagem, em formato jpg, é nomeada para img[número], seguindo uma sequência do tipo
15 | img1.jpg, img2.jpg, ... , img145.jpg.
16 | * Mais de 200 frames foram criados, mas, afim de deixar mais preciso, apaguei as imagens as quais considerava como um processo de transição
17 | entre em pé e sentado. Em seguida renomeei as imagens para preencher as lacunas deixadas no processo de remoção. Para recomear as imagens,
18 | basta entrar no diretótio onde elas estão e executar o seguinte código no terminal linux:
19 | ```
20 | $ ctd=1 ; for i in *jpg ; do mv $i img${ctd}.jpg ; ((++ctd)) ; done
21 |
22 | ```
23 | * Tendo as imagens devidamente tratadas em mãos, utilizei a biblioteca Pose Estimation do Tensorflow para estimar a posição (coordenadas
24 | x e y) do nariz, dos olhos, orelhas, ombros, cotovelos, pulsos, quadris, joelhos e tornozelos. As funções da biblioteca foram aplicadas
25 | para cada imagem e seus dados armazenados em formato csv, onde a última coluna é a situação do indivíduo, sendo 1 para em pé e 0 para
26 | sentado.
27 |
28 | ## Metodologia
29 |
30 | * O Support Vector Machine (SVM), é o modelo de Machine Learning que utilizei nesse projeto. É um algoritmo de aprendizado supervisionado,
31 | no qual se utiliza de uma função kernel para classificar determinados conjuntos de dados, normalmente em dois tipos de características,
32 | mesmo que a partir de uma base de dados multidimensional.
33 | * Logo após a importação das bibliotecas, importação da base de dados e alocamento dos dados para os vetores X e y, precisamos determinar
34 | a quantidade de dados que serão utilizadas para teste e treinamento.
35 | * Inicialmente, foram reservados 75% para treinamento e 25% para testes e o código se mostrou bastante eficaz, tendo uma acurácia de 97%.
36 | ```
37 | from sklearn.model_selection import train_test_split
38 | X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
39 |
40 | ```
41 | * A atribuição de parâmetros para melhor ajustar o SVM ao conjunto de treinamento
42 | ```
43 | from sklearn.svm import SVC
44 | from sklearn.pipeline import Pipeline
45 |
46 | classifier = Pipeline((
47 | ("scaler", StandardScaler()),
48 | ("svm_clf", SVC(kernel="rbf", gamma=0.25, C=10000))
49 | ))
50 |
51 | classifier.fit(X_train, y_train)
52 |
53 | ```
54 | ## CÓDIGOS
55 | * Prevendo os resultados do conjunto de testes:
56 | ```
57 | y_pred = classifier.predict(X_test)
58 |
59 | print(y_test[0:35])
60 | print(y_pred[0:35])
61 | ```
62 | ```
63 | [1 1 1 1 0 0 1 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1]
64 | [1 1 1 1 0 0 1 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1]
65 | ```
66 | * A matriz de confusão foi gerada em seguida:
67 | ```
68 | from sklearn.metrics import confusion_matrix
69 | cm = confusion_matrix(y_test, y_pred)
70 |
71 | print(cm)
72 | ```
73 | ```
74 | [[15 1]
75 | [ 0 21]]
76 | ```
77 |
78 | ## Experimentos
79 |
80 | * No primeiro momento, executei o programa com os parâmetros descritos acima e o resultado foi a matriz de confusão mostrada anteriormente,
81 | com acurácia de cerca de 97%. O que caracteriza-se como um excelente resultado, provando a eficácia do sistema.
82 | * Para um segundo teste e, sem medo de obter baixa generalização do modelo por ser uma base de dodos relativamente pequena, aumentei a
83 | quantidade de dados para o treinamento para 85%. Deixando assim 15% para os testes. Os resultados foram os seguintes:
84 | Matriz de confusão
85 | ```
86 | [[ 9 0]
87 | [ 0 13]]
88 | ```
89 | ```
90 | acuraccy = (cm[0][0]+cm[1][1])/(cm[0][0]+cm[0][1]+cm[1][0]+cm[1][1])
91 | print(acuraccy)
92 | ```
93 | ```
94 | 1.0
95 | ```
96 | * Significa que, mantendo os parâmetros da função kernel e aumentando um pouco a quantidade de dados para o treinamento, o sistema
97 | consegue um resultado mais preciso, embora o resultado anterior já tenha se mostrado bastante satisfatório.
98 |
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/modelo_de_relatorio.md:
--------------------------------------------------------------------------------
1 | # Título do Trabalho
2 |
3 | ## Introdução
4 |
5 | * Apresentar os membros da equipe.
6 | * Descrever o problema.
7 | * Descrever a base de dados.
8 |
9 | ## Metodologia
10 |
11 | * Explicar o modelo de _machine learning_ (ML) que você está trabalhando.
12 | * Explicar as etapas do treinamento e teste.
13 | * Caso tenha selecionado atributos, explicar a motivação para a seleção de tais atributos.
14 |
15 | ## Códigos
16 |
17 | * Mostrar trechos de códigos mais importantes e explicações.
18 |
19 | ## Experimentos
20 |
21 | * Descrever em detalhes os tipos de testes executados.
22 | * Descrever os parâmentros avaliados.
23 | * Explicar os resultados.
24 |
--------------------------------------------------------------------------------
/atividades/2019.2/SVM/relatorioSVM-JoaoMarcos.md:
--------------------------------------------------------------------------------
1 | # Utilização de SVM para classificar a posição de um individuo a partir de imagens
2 |
3 | ## Introdução
4 | Este trabalho foi desenvolvido por João Marcos Viana Silva, com orientação do prof. Orivaldo Santana.
5 | A atividade tinha como objetivo desenvolver um algoritmo capaz de classificar em duas categorias (em pé ou sentado) a posição em que uma pessoa estava em uma foto. Tal classificação abre o caminho para resolução de diversos tipos de problemas, como por exemplo, controle de equipamentos a partir de gestos, uso em videogames ou qualquer outro contexto que análise de posição seja importante. Além disso, a atividade exigiu a criação de uma base de dados própria, processo que é importante na ciência de dados em geral, proporcionando um conhecimento e preparo extra ao aluno. Sendo assim, a base foi gerada a partir de frames de um vídeo produzido pelo autor, aplicadas a uma API do TensorFlow chamada PoseEstimation, capaz de extrair as posições em pixels de onde estariam cada parte do corpo da pessoa na imagem. Ao final, a base continha 128 imagens, em que o individuo estava em pé ou sentado.
6 |
7 | ## Metodologia
8 | O modelo utilizado para o desenvolvimento do algoritmo foi o Support Vector Machine (SVM). Este tipo de modelo possui como base a teoria do aprendizado estatístico, ou seja, tem como objetivo encontrar soluções matemáticas para realizar a classificação dos dados. Assim, as SVMs irão mapear todos os dados recebidos, organizando-os em um ambiente multidimensional através de uma função kernel, e a partir disso, calcular a função que melhor divida os dois grupos (linarmente ou não). O processo de escolha dessa função é verificar qual das funções que dividem os dados possui maior distância simétrica entre ela e os dois grupos, o que podemos chamar de margem de divisão. Após o cálculo da margem de divisão, feito e ajustado no processo de treinamento, o procedimento é mais simples, sempre que um novo dado chegar ao algoritmo, o algoritmo irá mapea-lo no ambiente multidimensional e com a margem de divisão vai classifica-lo de X se estiver em um lado da margem, mais próximo dos outros dados classificados como X, ou como Y, se estiver mais próximo de tal grupo.
9 |
10 | 
11 |
12 | Como podemos observar na imagem acima, os pontos azuis representam um dos grupos e os amarelos o outro grupo, sendo a linha preta a margem de divisão dos dois, assim, o novo dado a ser mapeado será classificado como azul ou amarelo de acordo com a posição em que irá ser mapeado.
13 |
14 | No nosso caso, o processamento dos dados foi feito da seguinte forma, cada imagem possuia atributos correspondentes as posições X e Y de cada parte do corpo utilizada pelo PoseEstimation, funcionando como as dimensões do processo de mapeamento, são elas:
15 |
16 | * Nariz;
17 | * Olho esquerdo;
18 | * Olho direito;
19 | * Orelha esquerda;
20 | * Orelha direita;
21 | * Ombro esquerdo;
22 | * Ombro direito;
23 | * Cotovelo esquerdo;
24 | * Cotovelo direito;
25 | * Pulso esquerdo;
26 | * Pulso direito;
27 | * Quadril esquerdo;
28 | * Quadril direito;
29 | * Joelho esquerdo;
30 | * Joelho direito;
31 | * Tornozelo esquerdo;
32 | * Tornozelo direito.
33 |
34 | Para o treinamento do algoritmo, isto é, o processo de ajuste da margem de divisão, foram reservadas cerca de 75% das imagens geradas. Ou seja, 3/4 das imagens foram utilizadas para que o algoritmo pudesse compará-las e encontrar padrões entre os atributos de cada uma das classificações, gerando uma função de divisão. Sendo assim, os 25% restantes foram usandos na fase de testes, em que a SVM recebe novos dados e faz a previsão dos mesmos, podendo acertar ou errar.
35 |
36 | ## Códigos
37 | A aplicação do SVM foi feita integralmente em Python, utilizando as bibliotecas do Pandas e ScikitLearn. Enquanto o código para gerar a base de dados estava em JavaScript.
38 |
39 | No final do século 19, a água que os índios Pima usavam para irrigação foi desviada por fazendeiros,
13 | resultando em uma carência de alimento e desnutrição para a tribo.
14 | Na tentativa de contornar a situação, o governo americano começou a fornecer comida a eles:
15 | toucinho, farinha, açúcar, entre outros suprimentos. Isso fez com que eles se tornassem sedentários.
16 | A porcentagem de gordura na dieta, que originalmente era de 15%, passou a 40%.
17 | Resultado: os Pima se tornaram o grupo mais obeso dos Estados Unidos e o que mais tem diabetes.
18 | Metade dos Pima são diabéticos.
19 |
24 |
25 | ## Metodologia
26 | Utilizamos a linguagem de programação python para desenvolver os códigos e dentro dessa linguagem a ferramenta escolhida foi o Multilayer Perceptron, que trata-se de uma rede neural com várias camada de neurônios em alimentação direta.
27 | Esse tipo de rede é composta por camadas de neurônios ligadas entre si por sinapses com pesos. Com isso, aplicamos a função StandardScaler, da biblioteca Sklearn.preprocessing, fizemos os testes com 25% dos dados , restando 75% para treino.
28 |
29 | ## Códigos
30 |
31 | ### Primeira parte
32 |
33 | ```py
34 | # Rede Neural
35 |
36 | # Parte 1 - Processamento de Dados
37 |
38 | # Importando as bibliotecas
39 | import numpy as np
40 | import matplotlib.pyplot as plt
41 | import pandas as pd
42 | ```
43 | ```py
44 | #Ajuste do treinamento
45 | # Importando a base de dados
46 | dataset = pd.read_csv('https://raw.githubusercontent.com/jorgelgf/ML/master/projetoFinal/base/diabetes.csv')
47 |
48 |
49 | dataset.head( 10 )
50 | ```
51 |
52 | A base de dados consiste em mulheres acima dos 21 anos, ao todo foram 769 para a base de dados original. Os parâmetros são:
53 |
54 | - Número de vezes que esteve grávida;
55 |
56 | - Concentração de glicose no plasma a 2 horas em um teste oral de tolerância à glicose;
57 |
58 | - Pressão ArterialDiastólica (mm Hg);
59 |
60 | - Espessura da dobra da pele do tríceps (mm);
61 |
62 | - Insulina sérica de 2 horas (mu U / ml);
63 |
64 | - Índice de massa corporal;
65 |
66 | - Pré-disposição genética para ter diabetes;
67 |
68 | - Idade;
69 |
70 | - Variável de saída, resultado, 0 para não tem diabetes e 1 para tem diabetes;
71 |
72 | Foram feitas manipulações nos dados originais, alguns membros não continham os valores referentes à insulina. Para obter uma fidelidade maior
73 | com o uso do algoritmo, foi retirado os dados que não continham informações sobre os nívies de insulina, totalizando com 395 pessoas na base de dados nova.
74 |
75 |
76 |
77 | 
78 | Imagem da base de dados. Fonte:
79 |
80 |
81 | Selecionando os parametros:
82 |
83 | ```py
84 | X = dataset.iloc[:,0:8].values
85 | y = dataset.iloc[:, 8].values
86 | print(X.shape)
87 | ```
88 |
89 |
90 |
91 | ```py
92 | # Dividindo a base de dados para teste e treino
93 | from sklearn.model_selection import train_test_split
94 | X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
95 | ```
96 |
97 |
98 | ```py
99 | # Escalando recursos
100 | from sklearn.preprocessing import StandardScaler
101 | sc = StandardScaler()
102 | X_train = sc.fit_transform(X_train)
103 | X_test = sc.transform(X_test)
104 | ```
105 |
106 |
107 |
108 | ### Segunda parte
109 |
110 |
111 |
112 | ```py
113 | # Parte 2 - Fazendo a Rede Neural
114 |
115 | # Importando a bilbioteca Keras e os packages
116 | import keras
117 | from keras.models import Sequential
118 | from keras.layers import Dense
119 |
120 | # Inicializando a rede Neural
121 | classifier = Sequential()
122 |
123 | ```
124 |
125 |
126 | ```py
127 | # Input layer e primeira hidden layer
128 | classifier.add(Dense( activation = 'relu', input_dim = 8, units = 15, kernel_initializer = 'uniform'))
129 |
130 | # Segunda hidden layer
131 | classifier.add(Dense( activation = 'relu', units = 15, kernel_initializer = 'uniform' ))
132 |
133 |
134 | # Output layer
135 | classifier.add(Dense( activation = 'sigmoid', units = 1, kernel_initializer = 'uniform'))
136 |
137 |
138 |
139 | # Compilando a Rede neural
140 | classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
141 |
142 | # Ajustando a Rede neural ao conjunto de treinamento
143 | classifier.fit(X_train, y_train, batch_size = 3, epochs = 90)
144 |
145 | ```
146 |
147 |
148 |
149 | ### Terceira parte
150 |
151 |
152 | ```py
153 | # Parte 3 - Fazendo as predições e avaliando o modelo
154 |
155 | # Prevendo os resultados do conjunto de testes
156 | y_pred = classifier.predict(X_test)
157 | print(y_pred[0:10])
158 |
159 | y_pred = (y_pred > 0.5)
160 | print(y_pred[0:10])
161 |
162 | # Fazendo a matriz de confusão
163 | from sklearn.metrics import confusion_matrix
164 | cm = confusion_matrix(y_test, y_pred)
165 |
166 | print("Taxa de acerto:")
167 | print((cm[0,0]+cm[1,1])/len(y_test) )
168 |
169 | Taxa de acerto:
170 | 0.8282828282828283
171 | ```
172 |
173 |
174 |
175 |
176 | ## Conclusão
177 |
178 |
179 | Obtivemos uma boa taxa de acerto de aproximadamente 83%. Podemos concluir que para ter uma maior fidelidade no resultado seria necessário
180 | uma base de dados maior e mais consistente, com dados mais atualizados. Mesmo assim, tendo em vista o uso dessa ferramente, é possível obter uma possível previsão
181 | para que possa ser tomadas medidas preventivas podendo gerar uma melhor qualidade de vida para uma pessoa.
182 |
183 |
184 |
185 |
186 |
187 | #### Link para código fonte
188 |
189 | CLIQUE AQUI
190 |
191 | #### Link para referências
192 |
193 |
194 | Acessado em 2019:
195 |
196 |
197 |
198 | Acessado em 2019:
199 |
200 |
201 |
202 |
203 |
204 |
--------------------------------------------------------------------------------
/atividades_2018_2.md:
--------------------------------------------------------------------------------
1 | # Atividades Avaliativas
2 |
3 | As atividades devem ser entregues no github do aluno em um repositório com o nome "ect2702-ml". Um diretório deve ser criado para cada atividade com os códigos fontes que reselvem a atividade. O nome do diterório será especificado na descrição de cada atividade. As atividades podem ser feitas em grupo, mas cada estudante deve desenvolver seu próprio código.
4 |
5 | ## Unidade I
6 |
7 | Prazo máximo para entrega da atividades desta unidade: 19/09/2018.
8 |
9 | ### Regressão Linear
10 | Estimar o sálario de um funcionário de uma determinada empresa baseado em seus anos de experiência.
11 |
12 | * Nome da pasta: rl-salario;
13 | * Código de apoio: https://colab.research.google.com/drive/1J3-jnp7-en_OjvCG-He8UcD-Or8g_nxm.
14 |
15 | ### Perceptron
16 |
17 | Implementar um perceptron e testar com uma base de dados simples. Sugestão de problema para testar a implementação, *extraído das notas de aula da Professora Teresa Ludemir, CIN-UFPE*:
18 |
19 | * Dada uma rede do tipo Perceptron formada por um neurônio com três terminais de entrada, utilizando pesos iniciais w0 = 0.4, w1 = -0.6 e w2 = 0.6, limiar θ = 0.5 e uma taxa de aprendizado = 0.4. Considere que o limiar será sempre multiplicado por -1. responda os itens abaixo:
20 | * Ensinar a rede a gerar a saída -1 para o padrão 001 e a saída +1 para os padrão 110;
21 | * A que classe pertencem os padrões 111, 000, 100 e 011?
22 | * Manipulação básica de vetores: http://bit.ly/2w6xgfd;
23 | * Roteiro para implementação: https://github.com/ect-info/ml/tree/master/guias/Perceptron, contribuição de Richardson (https://github.com/vanluwin);
24 | * Nome da pasta: perceptron;
25 |
26 | ### Classificação com MLP ou SVM
27 |
28 | Escolher um problema, gerar a base de dados e implementar um código para a classíficação destes dados.
29 |
30 | Nesta atividade será levado em conta:
31 | * A complexidade da base de dados desenvolvida ou obtida;
32 | * O esforço de implementação do classificador;
33 | * A taxa de acerto do classificador.
34 |
35 | #### Sugestões de atividades:
36 | * Sensor de Cores:
37 | * Os dados devem ser obtidos de um sensor de cor de arduino e uma base de dados no formato csv deve ser gerada;
38 | * O código de reconhecimento de cores deve estar embarcado no arduíno ou em um raspberry pi.
39 |
40 | * Róbtica:
41 | * Coletar dados de sensor utlrassom de um robô com rodas para o comportamento de desviar de obstáculos ou seguir obstáculos;
42 | * Implementar a etapa de resposta da rede (fase *forward*) no Arduino.
43 |
44 | * Reconhecedor simplificado de gestos:
45 | * Coletar dados de gestos formando os números de 0 a 9;
46 | * A base de dados deve conter pelo menos 20 gestos de cada número;
47 | * O reconhecimento pode ser feito no computador ou em um raspberry pi.
48 |
49 | * Mineração de dados:
50 | * Estimar a tendência de conlusão do curso de graduação;
51 | * Considerando os dados do desempenho do aluno no primeiro semestre e a informação de conclusão ou desistência do curso gerar uma base de dados para classificação da tendência de finalização do curso;
52 | * O desempenho pode ser medido pela média final dos componentes curriculares cursados;
53 | * Essa base de dados é uma sugestão inicial.
54 |
55 | * Nome da pasta: classificacao-mlp ou classificacao-svm
56 |
57 |
58 | ## Unidade II
59 |
60 | Prazo máximo para entrega da atividades desta unidade: 12/11/2018.
61 |
62 | ### Clusterização com _k-means_
63 |
64 | Usar a base de dados sobre a opinão política da turma para gerar automáticamente dois clusters.
65 | * Gerar dois vetores de características com o perfil dos dois principais candidatos a presidência;
66 | * Colocar um rótulo em cada centroíde encontrado baseado no perfil dos candidatos a presidência;
67 | * Apresentar um perfil novo (um colega que estava fora dos dados de treinamento), identificar qual dos centroides é o mais próximo e consequentimente o candidato a presidência com maior afinidade ao novo colega.
68 |
69 | * Nome da pasta: k-means
70 |
71 | ### _Self-Organizing Map_
72 |
73 | * Nome da pasta: SOM
74 |
75 | #### Processamento de Áudio
76 |
77 | #### Classificação de Cores com Arduíno
78 |
79 | #### Aprendizado de comportamentos com Robôs/Arduíno
80 |
81 | ### Aloritmos Genéticos
82 | * Nome da pasta: AG
83 |
84 | ## Unidade III
85 |
86 | ### Temas para o trabalho final
87 |
88 | #### Sistema para gerenciar a alocação de horários dos professores
89 |
90 | O professor insere suas disciplinas e seus possíveis horários, cada sugestão de horário tem um nível de prioridade sendo 1 a priodiade máxima, valores maiores que 1 têm prioridades menores progressivamente. O sistema deverá minimizar o valor da alocação geral dos professores. A função objetivo deve somar a nota de todas disciplinas evitando colocar disciplinas em alocações não sugeridas pelo professor.
91 |
92 | #### API Web para Machine Laerning
93 |
94 | #### Visualização 2D de Perfis
95 |
96 | #### Sistema de recomendação com SOM
97 |
98 |
--------------------------------------------------------------------------------
/aulas/arvore_decisao.md:
--------------------------------------------------------------------------------
1 | # Árvore de Decisão
2 | * [Slides](https://docs.google.com/presentation/d/1IOQGZS21VcNK8GHDCT5IoaeOPbEBEtSYGcZr-Lm7AxQ/edit?usp=sharing)
3 | * [Vídeo: introdução conceitual sobre árvore de decisão](https://youtu.be/UktH9kZm-w0)
4 | * Código:
5 | * [Tem diabetes?](https://colab.research.google.com/drive/1ISIObTt9PCeW950jotNgRWkjmdhdMfcN?usp=sharing)
6 |
7 | Material Complementar:
8 | * Problema, predição de compra de um produto:
9 | * [Vídeo - trinando uma árvore de decisão](https://youtu.be/NWqdl3vw5YE)
10 | * [Código](https://colab.research.google.com/drive/1YVy68Eo9Mf5r5qijp7orxFxjUNTsc6Q3?usp=sharing)
11 |
12 |
13 | Atividade avaliativa:
14 | * Treinar uma árvore de decisão para classificar as espécies da flor de iris, [acesse a base de dados aqui.](https://raw.githubusercontent.com/ect-info/ml/master/dados/Iris.csv)
15 |
--------------------------------------------------------------------------------
/aulas/cnn.md:
--------------------------------------------------------------------------------
1 | # Rede Neural Convolucional
2 | * [Slides](https://docs.google.com/presentation/d/1KTPsi2Y4U63cuNUoCh32sd3VJfyYf6MA7NT3fHucboM/edit?usp=drivesdk)
3 | * Códigos:
4 | * [Código: reconhecimento de números escritos à mão](https://colab.research.google.com/drive/1gd9aB82vSHAEb_nHV0wJJZU4-gSfPbHN?usp=sharing)
5 |
6 | Material de Apoio
7 | * [Vídeos e Form](https://docs.google.com/forms/d/e/1FAIpQLSev6WOXJcQj9cIDlHYPIfsbPvpkDVsl2rqI4g7J6flD-03LOg/viewform?usp=sf_link)
8 |
9 | Extras:
10 | * [Vídeo: The Convolutional Neural Network (Animated Introduction)](https://www.youtube.com/watch?v=H1ZC9COwtMs)
11 | * [Treinando um modelo de "Machine Learning" na web com a ferramenta "Teachable Machine" do Google](https://www.youtube.com/watch?v=Qkop0rB-v1A)
12 |
13 | Sugestão de exercício:
14 | * Treinar uma Rede CNN para a base de dados "Fashion MNIST"
15 | * Exemplo de código: https://colab.research.google.com/drive/15DMm3Qf3IcN-syiNIvy_O04N5k9bBZV6?usp=sharing
16 |
17 | Material complementar:
18 | * [Vídeo: Prática com Redes Convolucionais](https://youtu.be/pCHKzOtLWOs)
19 |
--------------------------------------------------------------------------------
/aulas/deep_learning.md:
--------------------------------------------------------------------------------
1 | # _Deep Learning_
2 | * [Slides](https://docs.google.com/presentation/d/1pxztvhuOc36D76cDW86oj8nGZAIlQSEn2GZJE0GzGLw/edit?usp=sharing)
3 | * Códigos:
4 | * [MLP - Exemplo sobre se um cliente deixa um banco](https://colab.research.google.com/drive/1NndIE2zvup_aWqSG06JR7i6_WxXQ-xMU?usp=sharing)
5 | * [Reconhecimento de caracteres escritos a mão](https://colab.research.google.com/drive/1gGi-n3vAJkjdEKMYLZkSCXoDhyRS1tSJ?usp=sharing)
6 |
7 | * Sugestão de Vídeo:
8 | * [Treinando um modelo de "Machine Learning" na web com a ferramenta "Teachable Machine" do Google](https://www.youtube.com/watch?v=Qkop0rB-v1A)
9 |
10 | Material de Apoio:
11 | * [Vídeos e Form: _Deep Learning_](https://docs.google.com/forms/d/e/1FAIpQLSerRGTZZPjgz7yv1zWqZQfFVM6WkTyqkB22R7w3IRnvcRNE5A/viewform?usp=sf_link)
12 |
13 | Material complementar:
14 | * [Aula Prática: Reconhecimento de caracteres escritos a mão com Deep Learning](https://youtu.be/lXCz0tduSh8)
15 | * [Código: Reconhecimento de caracteres escritos a mão com Deep Learning](https://colab.research.google.com/drive/18fPqtpy6AV5Uo-WlmyFe6Epj-7UlrXgg)
16 | * [Tratamento de atributos categóricos](texto/atributos_categoricos.md)
17 | * [Simulação do funcionamento de uma rede MLP com Playground Tensorflow](https://playground.tensorflow.org/)
18 |
19 | Extras:
20 | * [Neural Networks from 3Blue1Brown](https://www.3blue1brown.com/lessons/neural-networks)
21 | * [But what is a Neural Network?](https://www.youtube.com/watch?v=aircAruvnKk)
22 | * [Gradient Descent, How Neural Networks Learn](https://www.youtube.com/watch?v=IHZwWFHWa-w)
23 | * [What is backpropagation really doing?](https://www.youtube.com/watch?v=Ilg3gGewQ5U)
24 | * [Backpropagation calculus](https://www.youtube.com/watch?v=tIeHLnjs5U8)
25 | * [Book: Neural Networks and Deep learning](http://neuralnetworksanddeeplearning.com/index.html)
26 |
27 | Exercícios:
28 | * Escolha uma base de dados no [kaggle](https://www.kaggle.com/) e treinar uma rede MLP, pode ser uma arquitetura mais simples, para classificação.
29 | * Sugestões de base de dados:
30 | * [Cancer Classification 🦠 (97% Accuracy)](https://www.kaggle.com/code/guhbrandao/cancer-classification-97-accuracy/input)
31 | * [Cancer Data](https://www.kaggle.com/datasets/erdemtaha/cancer-data)
32 | * [Titanic dataset](https://www.kaggle.com/code/biswajee/titanic-dataset/input)
33 | * [Heart Attack Analysis](https://www.kaggle.com/datasets/rashikrahmanpritom/heart-attack-analysis-prediction-dataset)
34 | * [Predict students' dropout and academic success](https://www.kaggle.com/datasets/thedevastator/higher-education-predictors-of-student-retention)
35 |
--------------------------------------------------------------------------------
/aulas/introducao.md:
--------------------------------------------------------------------------------
1 | # Introdução ao Aprendizado de Máquina
2 | * [Apresentação e Planejamento](https://docs.google.com/presentation/d/1dqH0Jwx3zzp5YQnQVOHnU7QthYB5SPcimitccRj3niA/edit?usp=sharing)
3 | * [Slides: Conceitos](https://docs.google.com/presentation/d/1p0ZDtjHuog-ENMHVbMX6LiabMXlTjYIV8t1DA2iBqIY/edit?usp=sharing)
4 |
5 | Prátrica 1
6 | * Abrir o site https://teachablemachine.withgoogle.com/. Criar grupos. Treinar um modelo para reconhecer pessoas pelo rosto.
7 |
8 | Prática 2
9 | * Conhecer um Arquivo CSV
10 | * Abrir um _DataFrame_ com Pandas
11 | * Visualizar alguns dados
12 |
13 | Material de apoio:
14 | * [Vídeos e Form: Introdução ao Aprendizado de Máquina](https://docs.google.com/forms/d/e/1FAIpQLScN2CzUWUSDjj4hCN-Xd8yDJQ75ks00c6eNqE6dFDg-mSnYRw/viewform?usp=sf_link)
15 | * [Vídeos e Form: Aprendizado de Máquina - Exemplos](https://docs.google.com/forms/d/e/1FAIpQLSf2tVmAS_Ovy_Fja5TVktUUWTo3AmnchAtTluMme7kOIIjchA/viewform?usp=sf_link)
16 | * [Vídeos e Form: Introdução ML - Principais Conceitos](https://docs.google.com/forms/d/e/1FAIpQLScqCw62IcRiKWNJx1qyqZPanjeCzPaAjB1Qg3diORDmyxY_OQ/viewform?usp=sf_link)
17 |
--------------------------------------------------------------------------------
/aulas/k_means.md:
--------------------------------------------------------------------------------
1 | # K-Means
2 | * [Slides](https://docs.google.com/presentation/d/1hzeAFwgHNZ7pr_POzd4_2lXUgOz_vrVfuhjxl6tbBCs/edit?usp=sharing)
3 | * Código:
4 | * [Exemplo de código: perfil de clientes de uma loja](https://colab.research.google.com/drive/1kyYG9ojYsTvCKj5X9hn4o6mve4RJjBv5?usp=sharing)
5 |
6 | Material de Apoio:
7 | * [Vídeos e Form: K-Means](https://docs.google.com/forms/d/e/1FAIpQLSfyv1LTd_h0bkniJdy5Zq4Y4oFkqTVQrRVY0MZo8PsvcUzhhQ/viewform?usp=sf_link)
8 |
9 | Exemplo de código com PCA
10 | * [Visualização de metricas do LoP em duas dimensões](https://colab.research.google.com/drive/15uTd1w8uIxpUgQYYGLmaIL33eum6Yjez?usp=sharing)
11 |
12 | Material complementar
13 | * [Aula prática: introdução ao K-Means - Agrupamento](https://youtu.be/t_107z0RHF8)
14 | * [Exemplo de código: perfil de clientes de uma loja](https://colab.research.google.com/drive/15Q-gTih7v2f5pYc64xQa2ytzX2gisX0q?usp=sharing)
15 | * [Código](https://colab.research.google.com/drive/1nc5RD1wMHvROPILgdJVT2GSzwbscLLsw?usp=sharing)
16 |
17 | Atividade Avaliativa
18 | * Analisar os perfis dos estudantes em relação aos atributos de uma lista de exercícios de Lógica de Programação. Baixar a base de dados com as métricas dos alunos [aqui](https://raw.githubusercontent.com/ect-comp/ml/refs/heads/master/dados/metricas_lop.csv).
19 |
20 | Exercícios:
21 | * Escolher uma base de dados para agrupamentos, usar o k-means, e analizar os valores dos centroids
22 | * Sugestões de base de dados:
23 | * [Customer Segmentation: Clustering](https://www.kaggle.com/code/karnikakapoor/customer-segmentation-clustering/input)
24 | * [Customer Clustering](https://www.kaggle.com/datasets/dev0914sharma/customer-clustering?resource=download&select=segmentation+data.csv)
25 | * [Customer segmentation data](https://raw.githubusercontent.com/ect-info/ml/master/dados/customer%20segmentation%20data.csv)
26 |
27 |
28 |
--------------------------------------------------------------------------------
/aulas/mlp.md:
--------------------------------------------------------------------------------
1 | # Multilayer Perceptron (MLP)
2 | * [Slides: MLP](https://docs.google.com/presentation/d/1oIzH-SNbJ3_4vYZdt_IZQi3537BUJKsvio_oV8c8Bnc/edit?usp=sharing)
3 | * Exercício
4 | * [Código com Perceptron de Sklearn - Dígitos](https://colab.research.google.com/drive/1eppuqhaH3qa09_I_IiYbz2ftpAMbQKn5?usp=sharing)
5 | * [Código com MLP - Íris](https://colab.research.google.com/drive/1y0tUhGB3cwWMdMOO9Z5_5OG0gGXNJHq1?usp=sharing)
6 |
7 | * Base de dados:
8 | * [Flor de íris](https://raw.githubusercontent.com/ect-info/ml/master/dados/Iris.csv)
9 |
10 | Exercício de demonstração:
11 | * [Exemplo MLP - Compra de um produto](https://colab.research.google.com/drive/1wR1xoQGDrgDUysDqWkhVdvNj-qluo2pk?usp=sharing)
12 | * Mais dados https://www.kaggle.com/datasets
13 |
14 | Material de apoio:
15 | * [Vídeos e Form: MLP parte 1](https://docs.google.com/forms/d/e/1FAIpQLSc_kQ1w4tnsrRjPsS56jOKZ7Bb1ZwN0bOAEwVRW0pKBWtyZkQ/viewform?usp=sf_link)
16 | * [Vídeos e Form: MLP Parte 2](https://docs.google.com/forms/d/e/1FAIpQLSdFS64t1TlAq9mYtgx6JAi_-XoplMcY0Hj2xc1dub8riXWFTA/viewform?usp=sf_link)
17 | * [Vídeo: Construindo e treinando uma rede MLP simples com keras e tensorflow](https://youtu.be/qyMO5UHLgs4)
18 |
19 | Material complementar:
20 | * Vídeos:
21 | * [RNA - Construindo um Perceptron](https://youtu.be/uTi0O3tjdSM)
22 | * [Classificação dados com aprendizado de máquina](https://youtu.be/_p8Mbe75ZLk)
23 | * [Exemplo comparando a resposta de um modelo linear e outro não-linear](https://youtu.be/YFkVERllgAQ)
24 |
25 | * Códigos:
26 | * [Exemplo de perceptron](https://colab.research.google.com/drive/1jbFCvifaAou19mlu2pI3Rso8DoMow_zl?usp=sharing)
27 |
28 | Exercício extra:
29 | * Treinar uma rede MLP para a [base de dados de diabetes](https://raw.githubusercontent.com/ect-info/ml/master/dados/diabetes.csv)
30 |
31 | Atividade avaliativa:
32 | * Treinar uma rede MLP com a [base de dados para predição de doença cardíaca da UCI](https://raw.githubusercontent.com/ect-comp/ml/refs/heads/master/dados/heart_disease_uci.csv). Nesta tarefa o estudante está livre para escolher a arquitetura da rede MLP, mas a sugestão é escolher uma arquitetura mais simples, pois esta base de dados é muito pequena. Os atributos podem ser escolhido conforme o critério do estudante.
33 |
34 |
--------------------------------------------------------------------------------
/aulas/nlp.md:
--------------------------------------------------------------------------------
1 | # Processamento de Linguagem Natural (NLP)
2 |
3 | * [Slides](https://docs.google.com/presentation/d/1yFBohFjlsk-O7Rw7YthMVi3nji1zFHYwLQRUZfLv31c/edit?usp=sharing)
4 | * Código:
5 | * [Classificação de texto](https://colab.research.google.com/drive/1kr7KWB_AKYmNT3Pm7IDbzqNcVKGTAFiX?usp=sharing)
6 | * [Introdução a análise de sentimentos](https://colab.research.google.com/drive/19lgWm2qyeX03VIBz4iQzzuUDZstNNTEy?usp=sharing)
7 | * Exercícios
8 | * [Classificação de texto](https://colab.research.google.com/drive/1I4Dhj-EislPdN-ZgvZwjAEclkRFtHdg-?usp=sharing)
9 | * [Introdução a análise de sentimentos.](https://colab.research.google.com/drive/19cDYZi77FHbpiNnedccFlgOsxgxMo14M?usp=sharing)
10 |
11 | Material de apoio:
12 | * [Form e vídeos](https://docs.google.com/forms/d/e/1FAIpQLSc6vVpLZgcoxq-zaJ12TJI1_6OkzCDhzVQAhoI3_5oioIfDPw/viewform?usp=sf_link)
13 |
14 | Material complementar
15 | * [Aula prática - parte 1: Introdução à Processamento de Linguagem Natural](https://youtu.be/ZnGC0tQLjNM)
16 | * [Código](https://colab.research.google.com/drive/1otpdkZhfhBwJrU6jD8pvtQAzzsrn-lGo?usp=sharing)
17 | * [Aula prática - parte 2: Introdução à Processamento de Linguagem Natural](https://youtu.be/gcbeEvpwCZ0)
18 | * [Código](https://colab.research.google.com/drive/1eJRivNcV_ZdqJqEoX9WhcnusV2-sRKm1?usp=sharing)
19 | * [Introdução de Processamento de Linguagem Natural e Análise de Sentimentos](https://youtu.be/-ZsiDKXGk84)
20 | * [Código para avaliações de restaurantes](https://colab.research.google.com/drive/1n80Us6FJZ74XyYIyl8iiqbSyIBapk9Yj?usp=sharing)
21 | * [Código para análise de opiniões no site da amazon](https://colab.research.google.com/drive/1Mx9KAPHeDC3jWJaJbdRYmXtsUFmzlvHS?usp=sharing)
22 | * [Código sobre treinamento de um classificador de texto usando "Embeddings"](https://colab.research.google.com/github/google/generative-ai-docs/blob/main/site/en/gemini-api/tutorials/text_classifier_embeddings.ipynb)
23 |
--------------------------------------------------------------------------------
/aulas/regressao.md:
--------------------------------------------------------------------------------
1 | # Regressão
2 | * [Slides](https://docs.google.com/presentation/d/1iELBYui_t5S_FNhsOZkqm_a1xvHtOW17QbGeLYWAr-s/edit?usp=sharing)
3 | * Códigos
4 | * [Estimativa de preço de venda de uma casa](https://colab.research.google.com/drive/1R2TDOdRsmfNPnLYP4Nkag8FHE3sbpD5n?usp=sharing)
5 | * [Regressão Linear com a população brasileira](https://colab.research.google.com/drive/1wozRns2hwNmF2bHJu4S38z-gzNCrjXb_?usp=sharing)
6 | * [Regressão usando SVM - prever o lucro de uma startup](https://colab.research.google.com/drive/13ucrTNkmJIH-XxXQiMS5q6ZTxBC1j6R0?usp=sharing)
7 | * [Realizando uma estimativa de sálario a partir dos anos de experiência](https://colab.research.google.com/drive/1cnvCdgxz0eHWzSSjKrMPD1LLj5VE21rv?usp=sharing)
8 |
9 | Prática
10 | * Plote de gráfico em linha
11 | * Plote de gráfio de dispersão de pontos
12 | * Treinamento de um modelo simples de _Machine Learning_ (Regressão Linear)
13 |
14 | Material de Apoio:
15 | * [Vídeos e Form](https://docs.google.com/forms/d/e/1FAIpQLSeyZ-kUCvbkStaiMOCbs9FYInwPhQX96IMqiTo2kQ7cJLZyCw/viewform?usp=sf_link)
16 |
17 | Material complementar:
18 | * [Vídeo: Prática com regressão linear simples](https://youtu.be/WTIOoHNFsGQ)
19 | * [Vídeo: Prática com regressão linear múltipla](https://youtu.be/U9xhYLWhwpc)
20 | * Códigos:
21 | * [Regressão com a população brasileira](https://colab.research.google.com/drive/1dCF8pGdv6N4-C09oP7cJbuSYvTK5zhKj?usp=sharing)
22 | * [Realizando uma estimativa de sálario a partir dos anos de experiência](https://colab.research.google.com/drive/1cnvCdgxz0eHWzSSjKrMPD1LLj5VE21rv?usp=sharing)
23 | * [Regressão linear múltipla - prever o lucro de uma startup](https://colab.research.google.com/drive/13ucrTNkmJIH-XxXQiMS5q6ZTxBC1j6R0?usp=sharing)
24 | * [Regeressão linear no Khanacademy](https://pt.khanacademy.org/math/statistics-probability/advanced-regression-inference-transforming)
25 |
26 | Atividade avaliativa:
27 | * Criar uma regressão linear para estimar a velocidade de rotação do eixo de um motor a partir do sinal de controle PWM. A base de dados possui duas colunas PWM e velocidade em rotações por minutos, [acesse aqui a base de dados](https://raw.githubusercontent.com/ect-comp/ml/refs/heads/master/dados/PWMxVelocidade.csv)
28 |
29 | Desafios:
30 | * [Base de dados de aluguel](https://colab.research.google.com/drive/1N2tsSSG18GhNsSxHKfE61WAGzZaf9Mww?usp=sharing)
31 | * [Brasil - Rio de janeiro Airbnb open data](https://www.kaggle.com/datasets/allanbruno/airbnb-rio-de-janeiro?select=abril2018.csv)
32 | * [Boston - Previsão de preço de casas](https://colab.research.google.com/drive/1cY0xY7G8hh6OLBndI7_M5i48ZBqdSBA7?usp=sharing)
33 |
34 |
--------------------------------------------------------------------------------
/aulas/som.md:
--------------------------------------------------------------------------------
1 | # Rede SOM
2 |
3 | * [Slides](https://docs.google.com/presentation/d/1vGS--E6VbtohvVkUo23GM-0MsL-EMTnxAXKcSHiomLI/edit?usp=sharing)
4 | * Código:
5 | * [SOM - Perfil dos alunos da ECT](https://colab.research.google.com/drive/1_Mo6uSpbQrkRegrR5GeodGeQ5ePUxpak?usp=sharing)
6 |
7 | Material de apoio:
8 | * [Vídeos e Form: Rede SOM](https://docs.google.com/forms/d/e/1FAIpQLSdTb_IhVEJW7LksxXYTBkf-rslxQ_zdywV4AT3bCkJdB1wxjw/viewform?usp=sf_link)
9 |
10 |
11 | Material complementar:
12 | * [Aula prática: introdução à rede SOM - Visualização de Dados](https://youtu.be/-mEn7puBD84)
13 | * [Código](https://colab.research.google.com/drive/1S-aMgBqFe9OgGdjURrWs86l7LaHLRuRJ?usp=sharing)
14 | * [Vídeo: Análise de perfis e desempenho em LoP](https://youtu.be/RFi62fy17tY)
15 | * [Código: Análise de perfis e desempenho em LoP](https://colab.research.google.com/drive/1lVfiGPf1yyDx7Zv_AUrS4o3bgO0E0EzH?usp=sharing)
16 | * [Exemplo de código: visualizar os perfis de alunos da Escola de Ciência e Tecnologia da UFRN](https://colab.research.google.com/drive/1PX9YlNGx_pjgesMsnhyjrXI-nsuJOdWI?usp=sharing)
17 | * Atividade:
18 | * Visualizar os dados de perfis de clientes com uma rede SOM. Exemplo de dados: [Clientes de um supermercado no Kaggle](https://www.kaggle.com/datasets/dev0914sharma/customer-clustering?resource=download&select=segmentation+data.csv) ou [acesso direto](https://raw.githubusercontent.com/ect-info/ml/master/dados/segmentation%20data.csv)
19 |
--------------------------------------------------------------------------------
/aulas/svm.md:
--------------------------------------------------------------------------------
1 | # Suport Vector Machine (SVM)
2 | * [Slides](https://docs.google.com/presentation/d/19mAI5sjOWURpzuKpoFjbjmCkjUXUysU_kysfbksmVAg/edit?usp=sharing)
3 | * Código:
4 | * [Compra de um produto](https://colab.research.google.com/drive/1gwdc-7YAUDq12wE5TNjuoJ7q1onHET7J?usp=sharing)
5 |
6 | Prática
7 | * Treinar o modelo SVM linear e o modelo SVM RBF com [base de dados de diabetes](https://raw.githubusercontent.com/ect-info/ml/master/dados/diabetes.csv)
8 | * Consultar a documentação https://scikit-learn.org/stable/modules/svm.html#svm
9 | * Mais dados https://www.kaggle.com/datasets
10 |
11 | Material de apoio:
12 | * [Vídeos e Form: SVM](https://docs.google.com/forms/d/e/1FAIpQLSdS3YCo4v5NDzMuHzWKDyX-hb-nf6Pz2XLEM8RXknV6pmjssQ/viewform?usp=sf_link)
13 |
14 | Atividade Avaliativa:
15 | * Treinar o modelo SVM para classificação com a base de dados Titanic. O objetivo é realizar uma predição de quais pessoas sobreviveram ou não a este acidente. Link para a base de dados: https://www.kaggle.com/c/titanic/data
16 |
17 | Material complementar:
18 | * [Vídeo: prática sobre classificação usando SVM](https://youtu.be/R3T4KnYg-tE)
19 | * Códigos:
20 | * [Exempo 1: SVM - compra de um produto](https://colab.research.google.com/drive/1w7Tt9UFngIkEjThnNlYj8Tki6EwVWxeP?usp=sharing)
21 | * [Exempo 2: SVM - compra de um produto](https://colab.research.google.com/drive/1VYmZBcf2FHmz_gwPRxllxwoy0nTaU8X9?usp=sharing)
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/cronograma_2020_2.md:
--------------------------------------------------------------------------------
1 | # Cronograma 2020.2
2 |
3 | | Data | Semana | Aula | Conteúdo |
4 | |---| --- |---|---|
5 | | 19/01 | Sem 1 | Aula 1 | Apresentação e Planejamento |
6 | | 21/01 | Sem 1 | Aula 2 | Introdução à _Machine Learning_ e AM - Supervisionados |
7 | | 21/01 | Sem 1 | Aula 3 | Regressão linear |
8 | | 26/01 | Sem 2 | Aula 4 | Atividade 1: Prever o lucro de uma startup |
9 | | 28/01 | Sem 2 | Aula 5 | MultiLayer Perceptron |
10 | | 02/02 | Sem 3 | Aula 6 | Atividade 2: Previsão de compra de um produto |
11 | | 04/02 | Sem 3 | Aula 7 | SVM |
12 | | 09/02 | Sem 4 | Aula 8 | Atividade 2: Previsão de compra de um produto |
13 | | 11/02 | Sem 4 | Aula 9 | Deep Learning |
14 | | 16/02 | Sem 5 | Aula 10 | *Carnaval* |
15 | | 18/02 | Sem 5 | Aula 11 | AM - Não supervisionados |
16 | | 23/02 | Sem 6 | Aula 12 | Atividade 3: Reconhecimento de dígitos escritos a mão |
17 | | 25/02 | Sem 6 | Aula 13 | K-Means |
18 | | 02/03 | Sem 7 | Aula 14 | Atividade 4: Perfil de clientes de uma loja |
19 | | 04/03 | Sem 7 | Aula 15 | SOM |
20 | | 09/03 | Sem 8 | Aula 16 | Atividade 5: Análise de perfil de estudantes |
21 | | 11/03 | Sem 8 | Aula 17 | SOM |
22 | | 16/03 | Sem 9 | Aula 18 | Atividade 5: Análise de perfil de estudantes |
23 | | 18/03 | Sem 9 | Aula 19 | Rede Convolucional |
24 | | 23/03 | Sem 10 | Aula 20 | Atividade 6: Reconhecimento de faces |
25 | | 25/03 | Sem 10 | Aula 21 | Rede Convolucional |
26 | | 30/03 | Sem 11 | Aula 22 | Atividade 6: Reconhecimento de faces |
27 | | 01/04 | Sem 11 | Aula 23 | Processamento de Linguagem Natural |
28 | | 06/04 | Sem 12 | Aula 24 | Atividade 7: Sistema de perguntas e respostas |
29 | | 08/04 | Sem 12 | Aula 25 | Processamento de Linguagem Natural |
30 | | 13/04 | Sem 13 | Aula 26 | Atividade 7: Sistema de perguntas e respostas |
31 | | 15/04 | Sem 13 | Aula 27 | Projeto Final |
32 | | 20/04 | Sem 14 | Aula 28 | Projeto Final |
33 | | 22/04 | Sem 14 | Aula 29 | Projeto Final |
34 | | 27/04 | Sem 15 | Aula 30 | Projeto Final |
35 | | 29/04 | Sem 15 | Aula 31 | Projeto Final |
36 |
37 |
--------------------------------------------------------------------------------
/cursos_online.md:
--------------------------------------------------------------------------------
1 | # Cursos
2 | Esta página reune cursos relacionados a _Machine Learning_.
3 |
4 | ## Python
5 | * [Fundamentos de Linguagem Python Para Análise de Dados e Data Science](https://www.datascienceacademy.com.br/cursosgratuitos)
6 | * [Introduction to Python for Data Science](https://www.datacamp.com/courses/intro-to-python-for-data-science)
7 |
8 | ## Ferramentas
9 | * [Bootcamp for KNIME Analytics Platform](https://www.udemy.com/course/knime-bootcamp/)
10 |
11 | ## _Machine Learning_
12 | * [Curso intensivo de machine learning com as APIs do TensorFlow](https://developers.google.com/machine-learning/crash-course?hl=pt-br)
13 | * [Machine Learning with Python and Scikit-Learn – Full Course](https://www.youtube.com/watch?v=hDKCxebp88A)
14 | * [Machine Learning - Udemy](https://www.udemy.com/machinelearning)
15 | * [Introdução a Machine Learning - Udacity](https://classroom.udacity.com/courses/ud120)
16 | * [Machine Learning - Google](https://developers.google.com/machine-learning/crash-course/)
17 | * [Machine Learning - Coursera](https://www.coursera.org/learn/machine-learning)
18 |
19 | ## Inteligência Artificial
20 | * [Elements of AI](https://course.elementsofai.com/)
21 |
22 | ## _Data Science_
23 | * [Introduction to Python](https://www.datacamp.com/courses/intro-to-python-for-data-science)
24 | * [Data Science: Machine Learning](https://online-learning.harvard.edu/course/data-science-machine-learning)
25 |
26 | ## _Deep Learning_
27 | * Introdução a Deep Learning (Sebastian Raschka / UTFPR):
28 | * [Vídeos em português](https://www.youtube.com/playlist?list=PL9At2PVRU0ZqVArhU9QMyI3jSe113_m2-)
29 | * [Slides](https://github.com/dalcimar/RC18EE---Intro-to-Deep-Learning)
30 | * [Material original](http://pages.stat.wisc.edu/~sraschka/teaching/)
31 | * [Deep Learning - Udemy](https://www.udemy.com/deep-learning-com-python-az-curso-completo)
32 | * [Página web com lições sobre TensorFlow](https://learningtensorflow.com/)
33 | * [Introdução a Deep Learning com PyTorch](https://classroom.udacity.com/courses/ud188)
34 | * [Deep Natural Language Processing course offered in Hilary Term 2017 at the University of Oxford](https://github.com/oxford-cs-deepnlp-2017/lectures)
35 | * [The Complete Self-Driving Car Course - Applied Deep Learning - Udemy](https://www.udemy.com/applied-deep-learningtm-the-complete-self-driving-car-course)
36 |
37 | ## Introdução a Ciência da Computação
38 | * [CC50 - O Curso de Ciência da Computação de Harvard, no Brasil](https://materiais.estudarfora.org.br/cc50/)
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/dados/50_Startups.csv:
--------------------------------------------------------------------------------
1 | R&D Spend,Administration,Marketing Spend,State,Profit
2 | 165349.2,136897.8,471784.1,New York,192261.83
3 | 162597.7,151377.59,443898.53,California,191792.06
4 | 153441.51,101145.55,407934.54,Florida,191050.39
5 | 144372.41,118671.85,383199.62,New York,182901.99
6 | 142107.34,91391.77,366168.42,Florida,166187.94
7 | 131876.9,99814.71,362861.36,New York,156991.12
8 | 134615.46,147198.87,127716.82,California,156122.51
9 | 130298.13,145530.06,323876.68,Florida,155752.6
10 | 120542.52,148718.95,311613.29,New York,152211.77
11 | 123334.88,108679.17,304981.62,California,149759.96
12 | 101913.08,110594.11,229160.95,Florida,146121.95
13 | 100671.96,91790.61,249744.55,California,144259.4
14 | 93863.75,127320.38,249839.44,Florida,141585.52
15 | 91992.39,135495.07,252664.93,California,134307.35
16 | 119943.24,156547.42,256512.92,Florida,132602.65
17 | 114523.61,122616.84,261776.23,New York,129917.04
18 | 78013.11,121597.55,264346.06,California,126992.93
19 | 94657.16,145077.58,282574.31,New York,125370.37
20 | 91749.16,114175.79,294919.57,Florida,124266.9
21 | 86419.7,153514.11,0,New York,122776.86
22 | 76253.86,113867.3,298664.47,California,118474.03
23 | 78389.47,153773.43,299737.29,New York,111313.02
24 | 73994.56,122782.75,303319.26,Florida,110352.25
25 | 67532.53,105751.03,304768.73,Florida,108733.99
26 | 77044.01,99281.34,140574.81,New York,108552.04
27 | 64664.71,139553.16,137962.62,California,107404.34
28 | 75328.87,144135.98,134050.07,Florida,105733.54
29 | 72107.6,127864.55,353183.81,New York,105008.31
30 | 66051.52,182645.56,118148.2,Florida,103282.38
31 | 65605.48,153032.06,107138.38,New York,101004.64
32 | 61994.48,115641.28,91131.24,Florida,99937.59
33 | 61136.38,152701.92,88218.23,New York,97483.56
34 | 63408.86,129219.61,46085.25,California,97427.84
35 | 55493.95,103057.49,214634.81,Florida,96778.92
36 | 46426.07,157693.92,210797.67,California,96712.8
37 | 46014.02,85047.44,205517.64,New York,96479.51
38 | 28663.76,127056.21,201126.82,Florida,90708.19
39 | 44069.95,51283.14,197029.42,California,89949.14
40 | 20229.59,65947.93,185265.1,New York,81229.06
41 | 38558.51,82982.09,174999.3,California,81005.76
42 | 28754.33,118546.05,172795.67,California,78239.91
43 | 27892.92,84710.77,164470.71,Florida,77798.83
44 | 23640.93,96189.63,148001.11,California,71498.49
45 | 15505.73,127382.3,35534.17,New York,69758.98
46 | 22177.74,154806.14,28334.72,California,65200.33
47 | 1000.23,124153.04,1903.93,New York,64926.08
48 | 1315.46,115816.21,297114.46,Florida,49490.75
49 | 0,135426.92,0,California,42559.73
50 | 542.05,51743.15,0,New York,35673.41
51 | 0,116983.8,45173.06,California,14681.4
--------------------------------------------------------------------------------
/dados/Banco de Dados 22.csv:
--------------------------------------------------------------------------------
1 | Sujeito,Genero,Grau_de_Instruçao,N_Filhos,Idade,Altura,Salario
2 | 1,M,Superior,1,31,160,"4,1"
3 | 2,F,Superior,0,25,160,"2,65"
4 | 3,M,Superior,0,33,157,"4,7"
5 | 4,M,Ens Fundamental,0,20,163,"1,45"
6 | 5,F,Ensino Médio,0,23,163,"1,85"
7 | 6,F,Superior,2,37,155,"2,2"
8 | 7,M,Ens Fundamental,0,38,165,"2,35"
9 | 8,M,Superior,0,37,168,"2,7"
10 | 9,M,Superior,1,34,163,"2,9"
11 | 10,M,Ensino Médio,2,40,170,"1,6"
12 | 11,F,Superior,0,41,170,3
13 | 12,F,Ensino Médio,3,46,157,"3,45"
14 | 13,F,Ensino Médio,0,26,165,1
15 | 14,F,Ensino Médio,0,41,160,"1,7"
16 | 15,F,Ensino Médio,1,43,173,"1,85"
17 | 16,M,Superior,1,27,175,"2,1"
18 | 17,M,Superior,0,26,145,"3,2"
19 | 18,M,Superior,0,42,165,"5,8"
20 | 19,F,Ensino Médio,2,43,157,"4,3"
21 | 20,M,Ensino Médio,2,30,163,"2,75"
22 | 21,M,Ens Fundamental,2,35,168,"3,4"
23 | 22,F,Ens Fundamental,0,33,183,"2,05"
24 | 23,F,Ensino Médio,0,30,175,"2,3"
25 | 24,F,Superior,2,32,185,"3,3"
26 | 25,M,Ensino Médio,4,29,173,"3,65"
27 | 26,F,Ens Fundamental,1,40,173,"3,65"
28 | 27,F,Superior,1,36,191,"4,15"
29 | 28,M,Ens Fundamental,0,34,188,"1,9"
30 | 29,M,Superior,0,31,193,"3,1"
31 | 30,F,Superior,1,35,170,4
32 |
--------------------------------------------------------------------------------
/dados/DataBaseLopDescription.txt:
--------------------------------------------------------------------------------
1 | qsemana == Quantidade de dias diferentes que houve submissão
2 | submeteu == quantidade de questões submetidas pelo aluno por semana
3 | subListaLab == quantidade de submissões na lista de lab a cada 2 semanas
4 | subListaExer == quantidade de submissões na lista de exer a cada 2 semanas
5 | subDistintasLab == quantidade de dias em que submeteu a cada 2 semanas nas listas de lab
6 | subDistintasExer == quantidade de dias em que submeteu a cada 2 semanas nas listas de exer
7 | diferentesLabSemanas == quantidade de questões diferentes submetidas nas listas de lab a cada 2 semanas
8 | diferentesExerSemanas == quantidade de questões diferentes submetidas nas listas de lab a cada 2 semanas
9 | situacao == indica se o aluno foi aprovado (1) ou reprovado (0)
10 | qsub == quantidade de submissões das listas correspondente (seja lab ou exercicio)
11 | qsubp == quantidade de questões submetidas para a prova 1 (L1,L2,L3) ou da prova 2 (L4,L5)
12 | totalsub == total de submissões feitas pelo aluno
13 | igualACem == quantidade de submissões em que o aluno acertou 100%, seja nas L123 ou L45
14 |
--------------------------------------------------------------------------------
/dados/Distancias_Pessoas.csv:
--------------------------------------------------------------------------------
1 | ID,Sexo,Distancia,Tamanho passo,Altura
2 | 1,F,6.0625,0.60625,1.49
3 | 2,M,6.5,0.65,1.71
4 | 3,F,6.705,0.6705,1.55
5 | 4,F,6.96,0.696,1.615
6 | 5,F,7.38,0.738,1.595
7 | 6,M,8.305,0.8305,1.73
8 | 7,M,7.895,0.7895,1.85
9 | 8,F,5.6075,0.56075,1.5
10 | 9,F,6.095,0.6095,1.54
11 | 10,M,6.3525,0.63525,1.64
12 |
--------------------------------------------------------------------------------
/dados/IMG_20190927_105514.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/dados/IMG_20190927_105514.jpg
--------------------------------------------------------------------------------
/dados/Iris.csv:
--------------------------------------------------------------------------------
1 | Id,SepalLengthCm,SepalWidthCm,PetalLengthCm,PetalWidthCm,Species
2 | 1,5.1,3.5,1.4,0.2,Iris-setosa
3 | 2,4.9,3.0,1.4,0.2,Iris-setosa
4 | 3,4.7,3.2,1.3,0.2,Iris-setosa
5 | 4,4.6,3.1,1.5,0.2,Iris-setosa
6 | 5,5.0,3.6,1.4,0.2,Iris-setosa
7 | 6,5.4,3.9,1.7,0.4,Iris-setosa
8 | 7,4.6,3.4,1.4,0.3,Iris-setosa
9 | 8,5.0,3.4,1.5,0.2,Iris-setosa
10 | 9,4.4,2.9,1.4,0.2,Iris-setosa
11 | 10,4.9,3.1,1.5,0.1,Iris-setosa
12 | 11,5.4,3.7,1.5,0.2,Iris-setosa
13 | 12,4.8,3.4,1.6,0.2,Iris-setosa
14 | 13,4.8,3.0,1.4,0.1,Iris-setosa
15 | 14,4.3,3.0,1.1,0.1,Iris-setosa
16 | 15,5.8,4.0,1.2,0.2,Iris-setosa
17 | 16,5.7,4.4,1.5,0.4,Iris-setosa
18 | 17,5.4,3.9,1.3,0.4,Iris-setosa
19 | 18,5.1,3.5,1.4,0.3,Iris-setosa
20 | 19,5.7,3.8,1.7,0.3,Iris-setosa
21 | 20,5.1,3.8,1.5,0.3,Iris-setosa
22 | 21,5.4,3.4,1.7,0.2,Iris-setosa
23 | 22,5.1,3.7,1.5,0.4,Iris-setosa
24 | 23,4.6,3.6,1.0,0.2,Iris-setosa
25 | 24,5.1,3.3,1.7,0.5,Iris-setosa
26 | 25,4.8,3.4,1.9,0.2,Iris-setosa
27 | 26,5.0,3.0,1.6,0.2,Iris-setosa
28 | 27,5.0,3.4,1.6,0.4,Iris-setosa
29 | 28,5.2,3.5,1.5,0.2,Iris-setosa
30 | 29,5.2,3.4,1.4,0.2,Iris-setosa
31 | 30,4.7,3.2,1.6,0.2,Iris-setosa
32 | 31,4.8,3.1,1.6,0.2,Iris-setosa
33 | 32,5.4,3.4,1.5,0.4,Iris-setosa
34 | 33,5.2,4.1,1.5,0.1,Iris-setosa
35 | 34,5.5,4.2,1.4,0.2,Iris-setosa
36 | 35,4.9,3.1,1.5,0.1,Iris-setosa
37 | 36,5.0,3.2,1.2,0.2,Iris-setosa
38 | 37,5.5,3.5,1.3,0.2,Iris-setosa
39 | 38,4.9,3.1,1.5,0.1,Iris-setosa
40 | 39,4.4,3.0,1.3,0.2,Iris-setosa
41 | 40,5.1,3.4,1.5,0.2,Iris-setosa
42 | 41,5.0,3.5,1.3,0.3,Iris-setosa
43 | 42,4.5,2.3,1.3,0.3,Iris-setosa
44 | 43,4.4,3.2,1.3,0.2,Iris-setosa
45 | 44,5.0,3.5,1.6,0.6,Iris-setosa
46 | 45,5.1,3.8,1.9,0.4,Iris-setosa
47 | 46,4.8,3.0,1.4,0.3,Iris-setosa
48 | 47,5.1,3.8,1.6,0.2,Iris-setosa
49 | 48,4.6,3.2,1.4,0.2,Iris-setosa
50 | 49,5.3,3.7,1.5,0.2,Iris-setosa
51 | 50,5.0,3.3,1.4,0.2,Iris-setosa
52 | 51,7.0,3.2,4.7,1.4,Iris-versicolor
53 | 52,6.4,3.2,4.5,1.5,Iris-versicolor
54 | 53,6.9,3.1,4.9,1.5,Iris-versicolor
55 | 54,5.5,2.3,4.0,1.3,Iris-versicolor
56 | 55,6.5,2.8,4.6,1.5,Iris-versicolor
57 | 56,5.7,2.8,4.5,1.3,Iris-versicolor
58 | 57,6.3,3.3,4.7,1.6,Iris-versicolor
59 | 58,4.9,2.4,3.3,1.0,Iris-versicolor
60 | 59,6.6,2.9,4.6,1.3,Iris-versicolor
61 | 60,5.2,2.7,3.9,1.4,Iris-versicolor
62 | 61,5.0,2.0,3.5,1.0,Iris-versicolor
63 | 62,5.9,3.0,4.2,1.5,Iris-versicolor
64 | 63,6.0,2.2,4.0,1.0,Iris-versicolor
65 | 64,6.1,2.9,4.7,1.4,Iris-versicolor
66 | 65,5.6,2.9,3.6,1.3,Iris-versicolor
67 | 66,6.7,3.1,4.4,1.4,Iris-versicolor
68 | 67,5.6,3.0,4.5,1.5,Iris-versicolor
69 | 68,5.8,2.7,4.1,1.0,Iris-versicolor
70 | 69,6.2,2.2,4.5,1.5,Iris-versicolor
71 | 70,5.6,2.5,3.9,1.1,Iris-versicolor
72 | 71,5.9,3.2,4.8,1.8,Iris-versicolor
73 | 72,6.1,2.8,4.0,1.3,Iris-versicolor
74 | 73,6.3,2.5,4.9,1.5,Iris-versicolor
75 | 74,6.1,2.8,4.7,1.2,Iris-versicolor
76 | 75,6.4,2.9,4.3,1.3,Iris-versicolor
77 | 76,6.6,3.0,4.4,1.4,Iris-versicolor
78 | 77,6.8,2.8,4.8,1.4,Iris-versicolor
79 | 78,6.7,3.0,5.0,1.7,Iris-versicolor
80 | 79,6.0,2.9,4.5,1.5,Iris-versicolor
81 | 80,5.7,2.6,3.5,1.0,Iris-versicolor
82 | 81,5.5,2.4,3.8,1.1,Iris-versicolor
83 | 82,5.5,2.4,3.7,1.0,Iris-versicolor
84 | 83,5.8,2.7,3.9,1.2,Iris-versicolor
85 | 84,6.0,2.7,5.1,1.6,Iris-versicolor
86 | 85,5.4,3.0,4.5,1.5,Iris-versicolor
87 | 86,6.0,3.4,4.5,1.6,Iris-versicolor
88 | 87,6.7,3.1,4.7,1.5,Iris-versicolor
89 | 88,6.3,2.3,4.4,1.3,Iris-versicolor
90 | 89,5.6,3.0,4.1,1.3,Iris-versicolor
91 | 90,5.5,2.5,4.0,1.3,Iris-versicolor
92 | 91,5.5,2.6,4.4,1.2,Iris-versicolor
93 | 92,6.1,3.0,4.6,1.4,Iris-versicolor
94 | 93,5.8,2.6,4.0,1.2,Iris-versicolor
95 | 94,5.0,2.3,3.3,1.0,Iris-versicolor
96 | 95,5.6,2.7,4.2,1.3,Iris-versicolor
97 | 96,5.7,3.0,4.2,1.2,Iris-versicolor
98 | 97,5.7,2.9,4.2,1.3,Iris-versicolor
99 | 98,6.2,2.9,4.3,1.3,Iris-versicolor
100 | 99,5.1,2.5,3.0,1.1,Iris-versicolor
101 | 100,5.7,2.8,4.1,1.3,Iris-versicolor
102 | 101,6.3,3.3,6.0,2.5,Iris-virginica
103 | 102,5.8,2.7,5.1,1.9,Iris-virginica
104 | 103,7.1,3.0,5.9,2.1,Iris-virginica
105 | 104,6.3,2.9,5.6,1.8,Iris-virginica
106 | 105,6.5,3.0,5.8,2.2,Iris-virginica
107 | 106,7.6,3.0,6.6,2.1,Iris-virginica
108 | 107,4.9,2.5,4.5,1.7,Iris-virginica
109 | 108,7.3,2.9,6.3,1.8,Iris-virginica
110 | 109,6.7,2.5,5.8,1.8,Iris-virginica
111 | 110,7.2,3.6,6.1,2.5,Iris-virginica
112 | 111,6.5,3.2,5.1,2.0,Iris-virginica
113 | 112,6.4,2.7,5.3,1.9,Iris-virginica
114 | 113,6.8,3.0,5.5,2.1,Iris-virginica
115 | 114,5.7,2.5,5.0,2.0,Iris-virginica
116 | 115,5.8,2.8,5.1,2.4,Iris-virginica
117 | 116,6.4,3.2,5.3,2.3,Iris-virginica
118 | 117,6.5,3.0,5.5,1.8,Iris-virginica
119 | 118,7.7,3.8,6.7,2.2,Iris-virginica
120 | 119,7.7,2.6,6.9,2.3,Iris-virginica
121 | 120,6.0,2.2,5.0,1.5,Iris-virginica
122 | 121,6.9,3.2,5.7,2.3,Iris-virginica
123 | 122,5.6,2.8,4.9,2.0,Iris-virginica
124 | 123,7.7,2.8,6.7,2.0,Iris-virginica
125 | 124,6.3,2.7,4.9,1.8,Iris-virginica
126 | 125,6.7,3.3,5.7,2.1,Iris-virginica
127 | 126,7.2,3.2,6.0,1.8,Iris-virginica
128 | 127,6.2,2.8,4.8,1.8,Iris-virginica
129 | 128,6.1,3.0,4.9,1.8,Iris-virginica
130 | 129,6.4,2.8,5.6,2.1,Iris-virginica
131 | 130,7.2,3.0,5.8,1.6,Iris-virginica
132 | 131,7.4,2.8,6.1,1.9,Iris-virginica
133 | 132,7.9,3.8,6.4,2.0,Iris-virginica
134 | 133,6.4,2.8,5.6,2.2,Iris-virginica
135 | 134,6.3,2.8,5.1,1.5,Iris-virginica
136 | 135,6.1,2.6,5.6,1.4,Iris-virginica
137 | 136,7.7,3.0,6.1,2.3,Iris-virginica
138 | 137,6.3,3.4,5.6,2.4,Iris-virginica
139 | 138,6.4,3.1,5.5,1.8,Iris-virginica
140 | 139,6.0,3.0,4.8,1.8,Iris-virginica
141 | 140,6.9,3.1,5.4,2.1,Iris-virginica
142 | 141,6.7,3.1,5.6,2.4,Iris-virginica
143 | 142,6.9,3.1,5.1,2.3,Iris-virginica
144 | 143,5.8,2.7,5.1,1.9,Iris-virginica
145 | 144,6.8,3.2,5.9,2.3,Iris-virginica
146 | 145,6.7,3.3,5.7,2.5,Iris-virginica
147 | 146,6.7,3.0,5.2,2.3,Iris-virginica
148 | 147,6.3,2.5,5.0,1.9,Iris-virginica
149 | 148,6.5,3.0,5.2,2.0,Iris-virginica
150 | 149,6.2,3.4,5.4,2.3,Iris-virginica
151 | 150,5.9,3.0,5.1,1.8,Iris-virginica
152 |
--------------------------------------------------------------------------------
/dados/Mall_Customers.csv:
--------------------------------------------------------------------------------
1 | CustomerID,Genre,Age,Annual Income (k$),Spending Score (1-100)
2 | 0001,Male,19,15,39
3 | 0002,Male,21,15,81
4 | 0003,Female,20,16,6
5 | 0004,Female,23,16,77
6 | 0005,Female,31,17,40
7 | 0006,Female,22,17,76
8 | 0007,Female,35,18,6
9 | 0008,Female,23,18,94
10 | 0009,Male,64,19,3
11 | 0010,Female,30,19,72
12 | 0011,Male,67,19,14
13 | 0012,Female,35,19,99
14 | 0013,Female,58,20,15
15 | 0014,Female,24,20,77
16 | 0015,Male,37,20,13
17 | 0016,Male,22,20,79
18 | 0017,Female,35,21,35
19 | 0018,Male,20,21,66
20 | 0019,Male,52,23,29
21 | 0020,Female,35,23,98
22 | 0021,Male,35,24,35
23 | 0022,Male,25,24,73
24 | 0023,Female,46,25,5
25 | 0024,Male,31,25,73
26 | 0025,Female,54,28,14
27 | 0026,Male,29,28,82
28 | 0027,Female,45,28,32
29 | 0028,Male,35,28,61
30 | 0029,Female,40,29,31
31 | 0030,Female,23,29,87
32 | 0031,Male,60,30,4
33 | 0032,Female,21,30,73
34 | 0033,Male,53,33,4
35 | 0034,Male,18,33,92
36 | 0035,Female,49,33,14
37 | 0036,Female,21,33,81
38 | 0037,Female,42,34,17
39 | 0038,Female,30,34,73
40 | 0039,Female,36,37,26
41 | 0040,Female,20,37,75
42 | 0041,Female,65,38,35
43 | 0042,Male,24,38,92
44 | 0043,Male,48,39,36
45 | 0044,Female,31,39,61
46 | 0045,Female,49,39,28
47 | 0046,Female,24,39,65
48 | 0047,Female,50,40,55
49 | 0048,Female,27,40,47
50 | 0049,Female,29,40,42
51 | 0050,Female,31,40,42
52 | 0051,Female,49,42,52
53 | 0052,Male,33,42,60
54 | 0053,Female,31,43,54
55 | 0054,Male,59,43,60
56 | 0055,Female,50,43,45
57 | 0056,Male,47,43,41
58 | 0057,Female,51,44,50
59 | 0058,Male,69,44,46
60 | 0059,Female,27,46,51
61 | 0060,Male,53,46,46
62 | 0061,Male,70,46,56
63 | 0062,Male,19,46,55
64 | 0063,Female,67,47,52
65 | 0064,Female,54,47,59
66 | 0065,Male,63,48,51
67 | 0066,Male,18,48,59
68 | 0067,Female,43,48,50
69 | 0068,Female,68,48,48
70 | 0069,Male,19,48,59
71 | 0070,Female,32,48,47
72 | 0071,Male,70,49,55
73 | 0072,Female,47,49,42
74 | 0073,Female,60,50,49
75 | 0074,Female,60,50,56
76 | 0075,Male,59,54,47
77 | 0076,Male,26,54,54
78 | 0077,Female,45,54,53
79 | 0078,Male,40,54,48
80 | 0079,Female,23,54,52
81 | 0080,Female,49,54,42
82 | 0081,Male,57,54,51
83 | 0082,Male,38,54,55
84 | 0083,Male,67,54,41
85 | 0084,Female,46,54,44
86 | 0085,Female,21,54,57
87 | 0086,Male,48,54,46
88 | 0087,Female,55,57,58
89 | 0088,Female,22,57,55
90 | 0089,Female,34,58,60
91 | 0090,Female,50,58,46
92 | 0091,Female,68,59,55
93 | 0092,Male,18,59,41
94 | 0093,Male,48,60,49
95 | 0094,Female,40,60,40
96 | 0095,Female,32,60,42
97 | 0096,Male,24,60,52
98 | 0097,Female,47,60,47
99 | 0098,Female,27,60,50
100 | 0099,Male,48,61,42
101 | 0100,Male,20,61,49
102 | 0101,Female,23,62,41
103 | 0102,Female,49,62,48
104 | 0103,Male,67,62,59
105 | 0104,Male,26,62,55
106 | 0105,Male,49,62,56
107 | 0106,Female,21,62,42
108 | 0107,Female,66,63,50
109 | 0108,Male,54,63,46
110 | 0109,Male,68,63,43
111 | 0110,Male,66,63,48
112 | 0111,Male,65,63,52
113 | 0112,Female,19,63,54
114 | 0113,Female,38,64,42
115 | 0114,Male,19,64,46
116 | 0115,Female,18,65,48
117 | 0116,Female,19,65,50
118 | 0117,Female,63,65,43
119 | 0118,Female,49,65,59
120 | 0119,Female,51,67,43
121 | 0120,Female,50,67,57
122 | 0121,Male,27,67,56
123 | 0122,Female,38,67,40
124 | 0123,Female,40,69,58
125 | 0124,Male,39,69,91
126 | 0125,Female,23,70,29
127 | 0126,Female,31,70,77
128 | 0127,Male,43,71,35
129 | 0128,Male,40,71,95
130 | 0129,Male,59,71,11
131 | 0130,Male,38,71,75
132 | 0131,Male,47,71,9
133 | 0132,Male,39,71,75
134 | 0133,Female,25,72,34
135 | 0134,Female,31,72,71
136 | 0135,Male,20,73,5
137 | 0136,Female,29,73,88
138 | 0137,Female,44,73,7
139 | 0138,Male,32,73,73
140 | 0139,Male,19,74,10
141 | 0140,Female,35,74,72
142 | 0141,Female,57,75,5
143 | 0142,Male,32,75,93
144 | 0143,Female,28,76,40
145 | 0144,Female,32,76,87
146 | 0145,Male,25,77,12
147 | 0146,Male,28,77,97
148 | 0147,Male,48,77,36
149 | 0148,Female,32,77,74
150 | 0149,Female,34,78,22
151 | 0150,Male,34,78,90
152 | 0151,Male,43,78,17
153 | 0152,Male,39,78,88
154 | 0153,Female,44,78,20
155 | 0154,Female,38,78,76
156 | 0155,Female,47,78,16
157 | 0156,Female,27,78,89
158 | 0157,Male,37,78,1
159 | 0158,Female,30,78,78
160 | 0159,Male,34,78,1
161 | 0160,Female,30,78,73
162 | 0161,Female,56,79,35
163 | 0162,Female,29,79,83
164 | 0163,Male,19,81,5
165 | 0164,Female,31,81,93
166 | 0165,Male,50,85,26
167 | 0166,Female,36,85,75
168 | 0167,Male,42,86,20
169 | 0168,Female,33,86,95
170 | 0169,Female,36,87,27
171 | 0170,Male,32,87,63
172 | 0171,Male,40,87,13
173 | 0172,Male,28,87,75
174 | 0173,Male,36,87,10
175 | 0174,Male,36,87,92
176 | 0175,Female,52,88,13
177 | 0176,Female,30,88,86
178 | 0177,Male,58,88,15
179 | 0178,Male,27,88,69
180 | 0179,Male,59,93,14
181 | 0180,Male,35,93,90
182 | 0181,Female,37,97,32
183 | 0182,Female,32,97,86
184 | 0183,Male,46,98,15
185 | 0184,Female,29,98,88
186 | 0185,Female,41,99,39
187 | 0186,Male,30,99,97
188 | 0187,Female,54,101,24
189 | 0188,Male,28,101,68
190 | 0189,Female,41,103,17
191 | 0190,Female,36,103,85
192 | 0191,Female,34,103,23
193 | 0192,Female,32,103,69
194 | 0193,Male,33,113,8
195 | 0194,Female,38,113,91
196 | 0195,Female,47,120,16
197 | 0196,Female,35,120,79
198 | 0197,Female,45,126,28
199 | 0198,Male,32,126,74
200 | 0199,Male,32,137,18
201 | 0200,Male,30,137,83
--------------------------------------------------------------------------------
/dados/ODB2013originalcorrigido.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/dados/ODB2013originalcorrigido.csv
--------------------------------------------------------------------------------
/dados/PWMxVelocidade.csv:
--------------------------------------------------------------------------------
1 | PWM,Velocidade
2 | 80,12.82
3 | 80,13.03
4 | 90,16.02
5 | 100,18.37
6 | 110,20.93
7 | 110,21.15
8 | 100,18.8
9 | 100,19.01
10 | 90,16.24
11 | 120,22.64
12 | 120,23.07
13 | 120,23.28
14 | 130,24.35
15 | 130,24.99
16 | 130,24.78
17 | 140,25.85
18 | 140,26.7
19 | 140,26.49
20 | 140,26.28
21 | 140,26.06
22 | 150,27.34
23 | 150,27.56
24 | 150,27.77
25 | 160,28.41
26 | 160,29.05
27 | 160,28.63
28 | 170,29.91
29 | 170,29.69
30 | 190,31.62
31 | 190,31.4
32 | 210,33.33
33 | 210,33.26
34 | 210,32.47
35 | 210,32.9
36 | 230,32.9
37 | 230,32.68
38 | 230,32.9
39 | 230,33.1
40 | 250,32.68
41 | 250,33.11
42 | 250,32.47
43 | 250,33.54
44 | 250,34.18
45 |
--------------------------------------------------------------------------------
/dados/README.md:
--------------------------------------------------------------------------------
1 | # Base de dados
2 | * [OpenDataSUS: Sistema de Informação sobre Mortalidade](https://opendatasus.saude.gov.br/dataset/sim-2020-2021/resource/9dc15b23-70bc-46d8-b080-bb98fbeb0f27?inner_span=True)
3 | * [Consumidor comprar um determinado produto](https://raw.githubusercontent.com/ect-info/ml/master/dados/Social_Network_Ads.csv)
4 | * [Diabetes](https://www.kaggle.com/saurabh00007/diabetescsv)
5 | * [Visual Imagination with MEG](https://www.kaggle.com/emanuele/visual-imagination-with-meg)
6 | * [Avaliações restaurante Páprica no TripAdvisor](https://github.com/ect-info/ml/blob/master/dados/avaliacoes_tripadvisor_paprica.csv)
7 | * Para carregar use: `dados = pd.read_csv("avaliacoes_tripadvisor_paprica.csv",sep=';',encoding = "ISO-8859-1")`
8 | * [Este é um conjunto de dados de tweets para à análise de sentimento em português](https://www.kaggle.com/code/leandrodoze/sentiment-analysis-in-portuguese/input)
9 |
10 | # Referências
11 |
12 | * UC Irvine Machine Learning Repository, https://archive.ics.uci.edu/ml/index.php
13 | * Kaggle, https://www.kaggle.com/datasets
14 |
--------------------------------------------------------------------------------
/dados/Resultados_Strava_2_CSV2020_2023.csv:
--------------------------------------------------------------------------------
1 | Desporto,2Distancia_km,2Elevacao,Tempo_Minutos,Cal_Tempo,Cal_Distancia,Cal_Tempo_e_Distancia,,,,,,
2 | Corrida,8,47000,53,0,61,9000,621,58340,619,83130,619,66160
3 | Corrida,8,72000,56,0,69,1000,690,8870,638,9800,636,7150
4 | Corrida,7,55000,111,0,71,1000,709,16210,552,61000,546,74990
5 | Corrida,10,35000,94,0,79,4000,788,47570,757,19650,755,90400
6 | Corrida,2,12000,6,0,14,4000,168,90810,155,85840,155,38790
7 | Corrida,2,71000,23,0,18,5000,207,53170,198,96770,198,65180
8 | Corrida,3,17000,25,0,22,7000,248,6270,232,57830,231,99900
9 | Corrida,3,27000,25,0,25,7000,276,67280,239,88500,238,51840
10 | Corrida,9,11000,32,0,26,2000,281,28220,666,59390,680,68290
11 | Corrida,4,41000,16,0,27,8000,297,1780,323,18090,324,11440
12 | Corrida,3,69000,40,0,28,5000,303,5770,270,57300,269,35730
13 | Corrida,3,46000,13,0,28,5000,303,37560,253,76760,251,92490
14 | Corrida,4,68000,31,0,29,4000,312,11750,342,90890,344,810
15 | Corrida,4,4000,10,0,30,1000,318,47530,296,14630,295,29870
16 | Corrida,3,97000,13,0,32,0,336,75400,291,3160,289,32280
17 | Corrida,4,4000,28,0,32,4000,340,72760,322,45020,321,74550
18 | Corrida,4,76000,13,0,32,4000,340,88660,348,75420,349,680
19 | Corrida,5,12000,19,0,33,8000,354,7900,375,5820,375,78760
20 | Corrida,5,25000,20,0,34,0,355,50950,384,55690,385,58140
21 | Corrida,5,13000,23,0,35,5000,370,29140,375,78890,375,94730
22 | Corrida,4,42000,22,0,36,1000,375,85450,323,91160,321,96530
23 | Corrida,5,33000,27,0,36,2000,376,33130,390,40220,390,87310
24 | Corrida,5,94000,26,0,36,2000,376,33130,434,97280,437,7580
25 | Corrida,5,88000,45,0,36,3000,378,7970,430,58880,432,46680
26 | Corrida,5,27000,27,0,36,5000,379,98700,386,1820,386,19380
27 | Corrida,5,19000,12,0,36,8000,382,53020,380,17290,380,4060
28 | Corrida,5,41000,25,0,36,9000,383,48380,396,24750,396,66880
29 | Corrida,5,28000,25,0,37,1000,384,91430,386,74880,386,76950
30 | Corrida,5,13000,28,0,37,1000,385,7330,375,78890,375,40230
31 | Corrida,4,95000,27,0,37,1000,385,70910,362,63690,361,74530
32 | Corrida,6,19000,28,0,37,6000,390,60,453,23950,455,50740
33 | Corrida,5,2000,30,0,37,7000,390,95420,367,75150,366,85390
34 | Corrida,4,43000,36,0,38,0,393,65630,324,64220,322,6640
35 | Corrida,5,12000,30,0,38,4000,397,31200,375,5820,374,19370
36 | Corrida,5,42000,21,0,38,7000,400,33200,396,97820,396,80500
37 | Corrida,5,71000,47,0,38,8000,401,60360,418,16750,418,72340
38 | Corrida,5,4000,58,0,39,1000,404,30560,395,51680,395,14370
39 | Corrida,5,11000,19,0,39,2000,405,10040,374,32750,373,14910
40 | Corrida,4,32000,31,0,39,4000,407,16660,316,60490,313,23660
41 | Corrida,5,47000,51,0,39,6000,409,7400,400,63150,400,26980
42 | Corrida,5,35000,51,0,39,7000,409,86870,391,86350,391,15150
43 | Corrida,5,12000,56,0,39,7000,410,50450,375,5820,373,70730
44 | Corrida,5,29000,45,0,39,8000,411,29920,387,47950,386,55420
45 | Corrida,5,79000,31,0,40,7000,419,24650,424,1280,424,13230
46 | Corrida,5,45000,44,0,40,8000,420,83590,399,17020,398,32140
47 | Corrida,5,95000,36,0,41,2000,424,80950,435,70350,436,4600
48 | Corrida,5,7000,55,0,41,6000,428,62420,371,40490,369,25220
49 | Corrida,5,82000,45,0,42,4000,435,93570,426,20480,425,78930
50 | Corrida,5,72000,37,0,43,3000,444,20080,418,89820,417,91030
51 | Corrida,5,69000,30,0,43,5000,446,42610,416,70620,415,55600
52 | Corrida,5,41000,22,0,43,9000,450,24070,396,24750,394,20760
53 | Corrida,9,72000,33,0,44,1000,451,67120,711,16460,720,60370
54 | Corrida,6,53000,23,0,44,1000,451,83020,478,8210,478,98020
55 | Corrida,9,8000,60,0,45,1000,461,84370,717,990,726,28800
56 | Corrida,6,25000,61,0,45,6000,466,77100,457,62350,457,22160
57 | Corrida,6,5000,23,0,45,8000,468,4260,443,1010,442,2630
58 | Corrida,6,3000,23,0,45,8000,468,51940,441,54880,440,49380
59 | Corrida,5,93000,48,0,45,9000,469,63200,434,24210,432,87860
60 | Corrida,6,0,38,0,46,3000,472,81090,439,35680,438,6330
61 | Corrida,6,82000,29,0,46,6000,475,51300,499,27140,500,7230
62 | Corrida,6,36000,36,0,46,6000,475,67190,465,66080,465,22510
63 | Corrida,6,73000,39,0,46,9000,478,85080,492,69540,493,13250
64 | Corrida,5,61000,110,0,47,2000,482,2970,410,86080,408,18400
65 | Corrida,6,43000,34,0,48,8000,497,28850,470,77540,469,73000
66 | Corrida,6,14000,89,0,48,9000,498,8320,449,58610,447,73550
67 | Corrida,6,12000,64,0,49,1000,499,99050,448,12480,446,15030
68 | Corrida,6,44000,41,0,50,6000,514,29560,471,50610,469,86040
69 | Corrida,7,79000,45,0,50,6000,514,29560,570,14600,572,11240
70 | Corrida,7,32000,36,0,51,5000,522,24280,535,80470,536,22060
71 | Corrida,6,74000,33,0,51,8000,525,10380,493,42610,492,18460
72 | Corrida,6,15000,90,0,51,8000,525,89860,450,31680,447,46740
73 | Corrida,6,53000,93,0,52,1000,528,44170,478,8210,476,15570
74 | Corrida,9,86000,39,0,52,9000,536,38890,721,39390,728,8420
75 | Corrida,7,78000,45,0,54,5000,551,32980,569,41530,569,98960
76 |
--------------------------------------------------------------------------------
/dados/Salary_Data.csv:
--------------------------------------------------------------------------------
1 | YearsExperience,Salary
2 | 1.1,39343.00
3 | 1.3,46205.00
4 | 1.5,37731.00
5 | 2.0,43525.00
6 | 2.2,39891.00
7 | 2.9,56642.00
8 | 3.0,60150.00
9 | 3.2,54445.00
10 | 3.2,64445.00
11 | 3.7,57189.00
12 | 3.9,63218.00
13 | 4.0,55794.00
14 | 4.0,56957.00
15 | 4.1,57081.00
16 | 4.5,61111.00
17 | 4.9,67938.00
18 | 5.1,66029.00
19 | 5.3,83088.00
20 | 5.9,81363.00
21 | 6.0,93940.00
22 | 6.8,91738.00
23 | 7.1,98273.00
24 | 7.9,101302.00
25 | 8.2,113812.00
26 | 8.7,109431.00
27 | 9.0,105582.00
28 | 9.5,116969.00
29 | 9.6,112635.00
30 | 10.3,122391.00
31 | 10.5,121872.00
32 |
--------------------------------------------------------------------------------
/dados/altura_x_peso.csv:
--------------------------------------------------------------------------------
1 | Indivíduo,Altura (cm),Peso (Kg)
2 | 1,167,56
3 | 2,187,"89,2"
4 | 3,188,"90,6"
5 | 4,189,"93,6"
6 | 5,178,"60,5"
7 | 6,189,"91,4"
8 | 7,190,"95,8"
9 | 8,176,"62,4"
10 | 9,194,95
11 | 10,195,99
12 |
--------------------------------------------------------------------------------
/dados/alunos_didatico.csv:
--------------------------------------------------------------------------------
1 | Nome,Nota do aluno,,Sexo,Idade,Peso,Altura,IMC,Contagem
2 | Sandra,2,4,Feminino,19,100,1.68,35.4308390022676,Obesidade
3 | Ana,2,4,Feminino,18,92,1.57,37.3240293723883,Obesidade
4 | Maria,4,16,Feminino,19,92,1.78,29.0367377856331,Sobrepeso
5 | Leda ,4,16,Feminino,23,66,1.77,21.0667432730058,Normal
6 | Carla ,6,36,Feminino,36,84,1.9,23.2686980609418,Normal
7 | Rachel,6,36,Feminino,27,67,1.8,20.679012345679,Normal
8 | Ângela,7,49,Feminino,26,66,1.77,21.0667432730058,Normal
9 | Nicole,7,49,Feminino,24,76,1.55,31.633714880333,Obesidade
10 | Lika,7,49,Feminino,22,77,1.88,21.7858759619737,Normal
11 | Otavio,1,1,Masculino,18,66,1.78,20.8307031940412,Normal
12 | Francisco,3,9,Masculino,22,69,1.59,27.2932241604367,Sobrepeso
13 | Rafael,3,9,Masculino,18,104,1.63,39.1433625653958,Obesidade
14 | Antonio,5,25,Masculino,25,93,1.75,30.3673469387755,Obesidade
15 | Roberto ,5,25,Masculino,29,92,1.54,38.7923764547141,Obesidade
16 | Ivan,5,25,Masculino,22,85,1.88,24.0493435943866,Normal
17 | Luiz,6,36,Masculino,51,105,1.77,33.5152733888729,Obesidade
18 | David,6,36,Masculino,22,91,1.76,29.3775826446281,Sobrepeso
19 | Edson,6,36,Masculino,29,104,1.76,33.5743801652893,Obesidade
20 | Paulo,7,49,Masculino,19,81,1.76,26.1492768595041,Sobrepeso
21 | Matheus,9,81,Masculino,25,87,1.9,24.0997229916898,Normal
22 |
--------------------------------------------------------------------------------
/dados/antihorario002.txt:
--------------------------------------------------------------------------------
1 | 0.5, 131
2 | 0.52, 139
3 | 0.54, 143
4 | 0.56, 147
5 | 0.58, 150
6 | 0.6, 152
7 | 0.62, 154
8 | 0.64, 157
9 | 0.66, 159
10 | 0.68, 161
11 | 0.7, 163
12 | 0.72, 165
13 | 0.74, 167
14 | 0.76, 168
15 | 0.78, 170
16 | 0.8, 171
17 | 0.82, 174
18 | 0.84, 175
19 | 0.86, 176
20 | 0.88, 177
21 | 0.9, 179
22 | 0.92, 180
23 | 0.94, 181
24 | 0.96, 183
25 | 0.98, 185
26 |
--------------------------------------------------------------------------------
/dados/antihorario003.txt:
--------------------------------------------------------------------------------
1 | 0.5, 133
2 | 0.53, 142
3 | 0.56, 146
4 | 0.59, 151
5 | 0.62, 155
6 | 0.65, 158
7 | 0.68, 161
8 | 0.71, 164
9 | 0.74, 167
10 | 0.77, 169
11 | 0.8, 171
12 | 0.83, 174
13 | 0.86, 176
14 | 0.89, 178
15 | 0.92, 180
16 | 0.95, 183
17 | 0.98, 185
18 |
--------------------------------------------------------------------------------
/dados/antihorario004.txt:
--------------------------------------------------------------------------------
1 | 0.5, 132
2 | 0.54, 143
3 | 0.58, 149
4 | 0.62, 154
5 | 0.66, 159
6 | 0.7, 162
7 | 0.74, 166
8 | 0.78, 169
9 | 0.82, 173
10 | 0.86, 175
11 | 0.9, 178
12 | 0.94, 182
13 | 0.98, 184
14 |
--------------------------------------------------------------------------------
/dados/avaliacoes_tripadvisor_paprica.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/dados/avaliacoes_tripadvisor_paprica.csv
--------------------------------------------------------------------------------
/dados/compra_casa_didatico.csv:
--------------------------------------------------------------------------------
1 | Idade,Renda (mil reais),Estado civil,Filhos,Região,Compra
2 | 25,50,Solteiro,0,Sudeste,Não
3 | 32,80,Casado,2,Nordeste,Sim
4 | 40,120,Casado,1,Sudeste,Sim
5 | 50,200,Divorciado,3,Centro-Oeste,Sim
6 | 60,150,Viúvo,0,Sul,Não
7 | 35,60,Solteiro,0,Nordeste,Não
8 | 45,100,Casado,2,Sudeste,Não
9 | 55,180,Divorciado,1,Centro-Oeste,Sim
10 | 28,70,Solteiro,1,Sudeste,Não
11 | 38,90,Casado,2,Nordeste,Não
12 |
--------------------------------------------------------------------------------
/dados/crescimento_populacional.csv:
--------------------------------------------------------------------------------
1 | ano,populacao
2 | 1872,9.9
3 | 1890,14.3
4 | 1900,17.4
5 | 1920,30.6
6 | 1940,41.2
7 | 1950,51.9
8 | 1960,70.2
9 | 1970,93.1
10 | 1980,119.0
11 | 1991,146.2
12 | 1996,157.1
13 |
--------------------------------------------------------------------------------
/dados/didatico_dados_pessoas_e_notas.csv:
--------------------------------------------------------------------------------
1 | Nome,Nota do aluno,Sexo,Idade,Peso,Altura
2 | Otavio,1,Masculino,18,98,1.780
3 | Sandra,2,Feminino,19,66,1.680
4 | Ana,2,Feminino,18,102,1.570
5 | Francisco,3,Masculino,22,76,1.590
6 | Rafael,3,Masculino,18,90,1.630
7 | Maria,4,Feminino,19,91,1.780
8 | Leda ,4,Feminino,23,72,1.770
9 | Antonio,5,Masculino,25,87,1.750
10 | Roberto ,5,Masculino,29,87,1.540
11 | Ivan,5,Masculino,22,77,1.880
12 | Carla ,6,Feminino,36,102,1.900
13 | Luiz,6,Masculino,51,84,1.770
14 | David,6,Masculino,22,99,1.760
15 | Edson,6,Masculino,29,71,1.760
16 | Rachel,6,Feminino,27,71,1.800
17 | Ângela,7,Feminino,26,80,1.770
18 | Paulo,7,Masculino,19,98,1.760
19 | Nicole,7,Feminino,24,66,1.550
20 | Lika,7,Feminino,22,98,1.880
21 | Matheus,9,Masculino,25,100,1.900
22 |
--------------------------------------------------------------------------------
/dados/horario002.csv:
--------------------------------------------------------------------------------
1 | pwm, pulses
2 | 0.5, 127
3 | 0.52, 133
4 | 0.54, 137
5 | 0.56, 140
6 | 0.58, 143
7 | 0.6, 146
8 | 0.62, 148
9 | 0.64, 150
10 | 0.66, 153
11 | 0.68, 156
12 | 0.7, 158
13 | 0.72, 159
14 | 0.74, 161
15 | 0.76, 163
16 | 0.78, 164
17 | 0.8, 166
18 | 0.82, 168
19 | 0.84, 170
20 | 0.86, 172
21 | 0.88, 173
22 | 0.9, 173
23 | 0.92, 174
24 | 0.94, 176
25 | 0.96, 177
26 | 0.98, 179
27 |
--------------------------------------------------------------------------------
/dados/horario003.csv:
--------------------------------------------------------------------------------
1 | pwm, pulses
2 | 0.5, 125
3 | 0.53, 135
4 | 0.56, 140
5 | 0.59, 144
6 | 0.62, 148
7 | 0.65, 152
8 | 0.68, 155
9 | 0.71, 158
10 | 0.74, 160
11 | 0.77, 163
12 | 0.8, 164
13 | 0.83, 166
14 | 0.86, 170
15 | 0.89, 173
16 | 0.92, 173
17 | 0.95, 176
18 | 0.98, 179
19 |
--------------------------------------------------------------------------------
/dados/horario004.csv:
--------------------------------------------------------------------------------
1 | pwm, pulses
2 | 0.5, 134
3 | 0.54, 139
4 | 0.58, 145
5 | 0.62, 150
6 | 0.66, 155
7 | 0.7, 158
8 | 0.74, 162
9 | 0.78, 163
10 | 0.82, 167
11 | 0.86, 171
12 | 0.9, 173
13 | 0.94, 176
14 | 0.98, 178
15 |
--------------------------------------------------------------------------------
/dados/horas_estudos_x_notas.csv:
--------------------------------------------------------------------------------
1 | Discente,Horas de estudo,Nota do discente
2 | 1,1,53
3 | 2,5,74
4 | 3,7,59
5 | 4,8,43
6 | 5,10,56
7 | 6,11,84
8 | 7,14,96
9 | 8,15,69
10 | 9,15,84
11 | 10,19,83
12 |
--------------------------------------------------------------------------------
/dados/limpo1.csv:
--------------------------------------------------------------------------------
1 | eh_diabetico,eh_hipertenso,fez_quimioterapia,eh_asmatico,eh_fumante,temperatura,frequencia_respiratoria,pulsacao,tosse,diarreia,falta_apetite,dificuldade_sabores,dificuldade_odores,dores_garganta,dores_corpo,nariz_congestionado,fadiga,nausea
2 | 1,0,0,0,0,36.3,17,70,0,0,0,0,0,0,0,0,0,0
3 | 0,1,0,0,1,35.7,0,85,0,0,0,0,0,0,0,0,0,0
4 | 1,1,0,1,1,39,17,95,1,1,1,1,1,1,1,1,1,1
5 | 0,0,0,0,0,36,15,80,0,0,0,0,0,0,0,0,0,0
6 | 0,0,0,0,0,37,6,86,0,0,0,0,0,0,0,0,0,0
7 | 0,0,0,0,0,35,30,70,0,0,0,0,0,0,0,0,0,0
8 | 0,0,0,0,0,36,50,30,0,0,0,0,0,0,0,0,0,0
9 | 0,0,0,0,0,36.3,13,75,0,0,0,0,0,0,0,1,0,0
10 | 0,0,0,0,0,36.6,18,75,0,0,0,0,0,0,0,0,0,0
11 | 0,0,0,0,0,39,21,85,1,0,0,1,0,1,0,0,1,0
12 | 0,0,0,0,0,36.5,20,54,0,0,0,0,0,0,0,0,0,0
13 | 0,0,0,0,0,37,30,90,0,0,0,0,0,0,1,1,0,0
14 | 0,0,0,0,0,38,25,95,1,0,0,0,0,1,0,0,0,0
15 | 0,0,0,0,0,35,30,70,0,0,0,0,0,0,0,0,0,0
16 | 0,1,0,0,0,36,13,65,0,0,0,0,0,0,0,0,0,0
17 | 0,0,0,0,0,36.6,8,85,0,0,0,0,0,0,0,0,0,0
18 | 0,0,0,1,0,36.5,15,69,0,0,1,0,0,0,0,0,1,0
19 | 1,0,0,0,0,36,60,77,0,0,0,0,0,0,0,0,0,0
20 | 0,0,0,0,0,36.2,15,65,0,0,0,0,0,0,0,1,0,0
21 | 0,0,0,0,0,36,12,73,0,0,0,0,0,0,1,0,0,0
22 | 0,0,0,0,0,36,14,74,0,0,0,0,0,0,0,0,0,0
23 | 0,0,0,0,0,36.5,12,75,0,0,0,0,0,0,0,0,0,0
24 | 0,0,0,1,0,36,13,65,0,0,0,0,0,1,0,0,0,0
25 | 0,0,0,0,0,36.8,12,74,1,1,1,0,0,0,0,0,1,1
26 | 0,0,0,0,0,36.6,16,76,0,0,0,0,0,0,0,0,0,0
27 | 0,0,0,1,0,35.8,19,70,0,0,0,0,0,0,0,0,0,0
28 | 0,1,0,0,0,36,18,80,0,0,0,0,0,0,0,0,0,0
29 | 0,1,0,0,0,37.2,18,78,0,0,0,0,0,0,0,0,0,0
30 | 0,0,0,0,0,36.5,15,70,0,0,0,0,0,0,0,0,0,0
31 | 0,0,0,0,0,37.9,23,80,1,0,1,0,1,1,0,1,0,1
32 | 0,0,0,0,0,36.7,18,98,0,0,0,0,0,0,0,0,0,0
33 | 0,0,0,0,0,36.8,16,60,0,0,0,0,0,0,0,0,0,0
34 | 0,0,0,0,0,37,10,15,0,0,0,0,0,0,0,0,0,0
35 | 0,0,0,0,0,36,19,12,0,0,0,0,0,0,0,0,0,0
36 | 1,1,0,0,1,37,60,90,0,0,0,0,0,0,0,0,0,0
37 | 1,0,0,0,0,37,20,76,0,0,0,0,0,0,0,1,0,0
38 | 0,1,0,0,0,37.5,17,80,0,0,0,0,0,0,0,0,0,0
39 | 0,0,0,0,0,36.5,14,70,0,0,0,0,0,0,0,0,0,0
40 | 0,0,0,0,0,36.5,14,80,0,0,0,0,0,0,0,0,0,0
41 | 1,0,0,0,0,39,22,80,1,1,0,0,1,0,0,0,0,0
42 | 0,0,0,0,0,36.9,20,93,0,0,0,0,0,0,0,1,0,0
43 | 0,0,0,0,0,36.9,20,93,0,0,0,0,0,0,0,1,0,0
44 | 0,0,0,0,0,36.5,12,80,0,0,0,0,0,0,0,0,0,0
45 | 0,0,0,1,0,36,32,99,0,0,0,0,0,0,0,0,1,1
46 | 0,0,0,0,0,36.5,21,77,1,0,0,0,0,0,0,0,1,0
47 | 0,0,0,0,0,36,17,60,0,0,0,0,0,0,0,0,0,0
48 | 0,0,0,0,0,36,11,65,1,0,0,0,0,1,0,1,0,0
49 | 0,0,0,0,0,36,17,78,0,0,0,0,0,0,0,0,0,0
50 | 0,0,0,0,0,36,10,10,0,0,0,0,0,0,0,0,0,0
51 | 0,0,0,0,0,37,12,12,0,1,0,1,1,0,1,0,0,0
52 | 0,0,0,0,0,36.5,21,98,1,0,0,0,0,0,0,0,1,0
53 | 0,0,0,0,0,36.3,17,78,0,0,0,0,0,0,0,1,0,0
54 | 0,1,0,0,0,37,50,45,1,0,0,0,0,1,0,0,1,0
55 | 0,1,0,0,0,37,50,45,1,0,0,0,0,1,0,0,1,0
56 | 0,1,0,0,0,37,50,45,1,0,0,0,0,1,0,0,1,0
57 | 0,1,0,0,0,37,30,45,1,0,0,0,0,1,0,0,1,0
58 | 0,1,0,0,0,37,30,20,1,0,0,0,0,1,0,0,1,0
59 | 0,1,0,0,0,37,30,20,1,0,0,0,0,1,0,0,1,0
60 | 0,1,0,0,0,37,30,20,1,0,0,0,0,1,0,0,1,0
61 | 0,1,0,0,0,37,30,20,1,0,0,0,0,1,0,0,1,0
62 | 0,1,0,0,0,37,30,20,1,0,0,0,0,1,0,0,1,0
63 | 0,1,0,0,0,37,30,20,1,0,0,0,0,1,0,0,1,0
64 | 0,0,0,0,0,37,60,60,1,0,0,0,0,0,0,0,0,0
65 | 1,1,0,0,1,34.5,60,45,0,0,1,1,1,1,1,1,1,1
66 | 1,1,0,0,1,36,25,46,0,0,0,0,0,0,0,0,0,0
67 | 0,0,0,0,0,35,32,60,0,0,0,0,0,0,0,0,0,0
68 | 0,0,0,0,0,31,12,14,0,0,0,0,0,0,0,0,0,0
69 | 1,1,0,0,1,36.7,24,70,0,0,0,0,0,1,0,0,0,0
70 | 0,0,0,0,0,36.5,22,85,1,0,0,0,1,0,0,0,1,0
71 | 0,0,0,0,0,36,20,75,0,0,0,0,0,0,0,0,0,0
72 | 0,0,0,0,0,36.4,25,98,1,0,0,0,1,0,0,0,1,1
73 | 0,0,0,0,0,36.8,14,68,0,0,0,0,0,1,0,0,1,1
74 | 0,0,0,0,0,36.4,25,76,1,0,0,0,1,0,0,0,0,0
75 | 1,1,0,0,1,36,20,60,0,0,0,0,0,0,0,0,0,0
76 | 1,1,0,0,1,38.3,24,67,1,1,1,1,0,0,0,0,0,0
77 | 0,0,0,0,0,37.5,20,60,0,0,0,0,0,0,0,1,0,0
78 | 0,0,0,0,0,36.3,18,69,1,0,0,0,1,1,0,1,0,0
79 | 1,0,0,0,0,36.1,13,60,1,0,0,0,0,0,0,1,0,1
80 | 1,1,0,0,1,35,20,50,1,1,0,0,0,1,1,1,0,0
81 | 1,1,0,0,1,39.2,20,60,0,0,0,0,0,0,0,0,0,0
82 | 1,1,0,0,1,41.1,20,60,0,0,0,0,0,0,0,0,0,0
83 | 1,1,0,0,1,39.6,20,60,1,0,0,0,0,0,0,0,0,0
84 | 1,1,0,0,1,36,20,60,0,0,0,0,0,0,0,0,1,0
85 | 1,1,0,0,1,41.4,20,60,0,0,0,0,0,1,0,0,1,0
86 | 1,1,0,0,1,41.1,49,139,1,0,1,1,1,1,1,1,1,1
87 | 1,1,0,0,1,43.3,49,219,1,1,1,1,1,1,1,1,1,1
88 | 1,1,0,0,1,41.4,47,192,1,0,1,1,1,1,1,1,1,1
89 | 1,1,0,0,1,41.9,49,193,1,1,1,1,1,1,1,1,1,1
90 | 0,0,0,0,0,36.7,24,63,1,0,0,0,0,0,0,0,0,0
91 | 0,0,0,0,0,36.1,20,60,0,0,0,0,0,0,0,0,0,0
92 | 0,0,0,0,0,36.7,23,85,0,0,0,0,1,0,1,0,1,0
93 | 0,0,0,0,0,38.1,24,87,1,0,1,0,0,0,1,1,1,0
94 | 0,0,0,0,0,36.4,25,79,1,0,0,0,0,0,1,0,1,0
95 | 0,0,0,0,0,36.6,25,80,1,0,0,0,0,0,0,0,1,0
96 | 0,0,0,0,0,36.8,25,82,1,0,0,1,1,0,0,0,1,0
97 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
98 | 0,0,0,0,0,36.7,27,85,1,1,0,0,0,0,0,0,1,0
99 | 0,0,0,0,0,36.5,20,88,1,1,1,0,0,1,0,0,1,0
100 | 0,0,0,0,0,36.5,29,85,1,1,0,0,0,0,0,0,1,0
101 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
102 | 0,0,0,0,0,36.6,25,80,1,1,0,0,0,0,0,0,1,0
103 | 0,0,0,0,0,36.7,25,100,1,0,1,0,0,0,0,0,1,0
104 | 0,0,0,0,0,35,20,50,1,1,0,0,0,0,0,0,0,0
105 | 0,0,0,0,0,43.3,38,143,1,1,1,1,1,1,1,1,1,1
106 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
107 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
108 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
109 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
110 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
111 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
112 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
113 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
114 | 0,0,0,0,0,39.3,9,166,1,0,0,0,1,1,1,0,0,0
115 | 0,0,0,0,0,36.7,20,60,0,0,0,1,0,0,1,0,1,0
116 | 0,0,0,0,0,35,20,50,0,0,0,0,0,0,0,0,1,0
117 | 0,0,0,0,1,30,60,73,1,1,1,0,0,1,1,0,0,0
118 | 0,1,0,0,0,35,20,50,1,0,0,0,0,0,0,0,1,0
119 | 0,1,0,0,0,35,20,50,1,0,0,0,0,0,0,0,1,0
120 | 0,1,0,0,0,35,20,50,0,0,0,0,0,0,0,0,0,0
121 | 0,1,0,0,0,35,20,50,1,0,0,0,0,0,0,1,0,0
122 | 0,0,0,0,0,37,28,88,1,0,1,0,0,0,0,0,1,0
123 | 0,0,0,0,1,30,60,74,0,0,0,0,0,0,0,0,0,0
124 | 0,0,0,0,0,35,14,50,0,0,1,0,0,0,0,1,0,0
125 | 0,0,0,0,0,36.1,23,83,0,0,1,0,0,0,1,0,0,0
126 | 0,0,0,0,0,36.6,22,80,1,0,1,0,0,0,0,0,1,0
127 | 0,0,0,0,0,36.4,24,79,0,0,1,0,0,0,1,0,1,0
128 | 0,0,0,0,0,36.1,29,81,0,0,1,0,0,0,0,0,1,0
129 | 0,0,0,0,0,36.3,30,69,0,0,1,0,0,0,1,0,1,0
130 | 0,0,0,0,0,36.9,15,71,1,0,0,0,0,0,1,1,1,0
131 |
--------------------------------------------------------------------------------
/dados/milsa.csv:
--------------------------------------------------------------------------------
1 | Funcionario,Est.civil,Inst,Filhos,Salario,Anos,Meses,Regiao
2 | 1,solteiro,1o Grau,NA,4,26,3,interior
3 | 2,casado,1o Grau,1,4.56,32,10,capital
4 | 3,casado,1o Grau,2,5.25,36,5,capital
5 | 4,solteiro,2o Grau,NA,5.73,20,10,outro
6 | 5,solteiro,1o Grau,NA,6.26,40,7,outro
7 | 6,casado,1o Grau,0,6.66,28,0,interior
8 | 7,solteiro,1o Grau,NA,6.86,41,0,interior
9 | 8,solteiro,1o Grau,NA,7.39,43,4,capital
10 | 9,casado,2o Grau,1,7.59,34,10,capital
11 | 10,solteiro,2o Grau,NA,7.44,23,6,outro
12 | 11,casado,2o Grau,2,8.12,33,6,interior
13 | 12,solteiro,1o Grau,NA,8.46,27,11,capital
14 | 13,solteiro,2o Grau,NA,8.74,37,5,outro
15 | 14,casado,1o Grau,3,8.95,44,2,outro
16 | 15,casado,2o Grau,0,9.13,30,5,interior
17 | 16,solteiro,2o Grau,NA,9.35,38,8,outro
18 | 17,casado,2o Grau,1,9.77,31,7,capital
19 | 18,casado,1o Grau,2,9.8,39,7,outro
20 | 19,solteiro,Superior,NA,10.53,25,8,interior
21 | 20,solteiro,2o Grau,NA,10.76,37,4,interior
22 | 21,casado,2o Grau,1,11.06,30,9,outro
23 | 22,solteiro,2o Grau,NA,11.59,34,2,capital
24 | 23,solteiro,1o Grau,NA,12,41,0,outro
25 | 24,casado,Superior,0,12.79,26,1,outro
26 | 25,casado,2o Grau,2,13.23,32,5,interior
27 | 26,casado,2o Grau,2,13.6,35,0,outro
28 | 27,solteiro,1o Grau,NA,13.85,46,7,outro
29 | 28,casado,2o Grau,0,14.69,29,8,interior
30 | 29,casado,2o Grau,5,14.71,40,6,interior
31 | 30,casado,2o Grau,2,15.99,35,10,capital
32 | 31,solteiro,Superior,NA,16.22,31,5,outro
33 | 32,casado,2o Grau,1,16.61,36,4,interior
34 | 33,casado,Superior,3,17.26,43,7,capital
35 | 34,solteiro,Superior,NA,18.75,33,7,capital
36 | 35,casado,2o Grau,2,19.4,48,11,capital
37 | 36,casado,Superior,3,23.3,42,2,interior
38 |
--------------------------------------------------------------------------------
/dados/obitos_covid.csv:
--------------------------------------------------------------------------------
1 | SEXO,IDADE
2 | 0,96
3 | 0,94
4 | 0,93
5 | 1,93
6 | 0,93
7 | 0,92
8 | 1,92
9 | 1,92
10 | 0,91
11 | 0,91
12 | 0,90
13 | 0,89
14 | 0,88
15 | 1,88
16 | 1,87
17 | 0,87
18 | 0,86
19 | 1,86
20 | 0,86
21 | 0,85
22 | 1,85
23 | 0,84
24 | 1,84
25 | 0,84
26 | 0,83
27 | 0,83
28 | 1,83
29 | 1,82
30 | 0,82
31 | 1,82
32 | 0,82
33 | 0,82
34 | 1,82
35 | 0,81
36 | 0,81
37 | 1,81
38 | 0,81
39 | 0,81
40 | 0,81
41 | 0,81
42 | 0,81
43 | 0,80
44 | 0,80
45 | 1,79
46 | 0,78
47 | 0,77
48 | 1,76
49 | 1,76
50 | 1,75
51 | 1,75
52 | 1,75
53 | 0,73
54 | 1,72
55 | 0,71
56 | 1,71
57 | 0,69
58 | 0,69
59 | 0,68
60 | 1,67
61 | 0,66
62 | 0,66
63 | 1,66
64 | 1,65
65 | 1,65
66 | 1,64
67 | 1,64
68 | 1,62
69 | 0,62
70 | 1,62
71 | 1,61
72 | 0,61
73 | 1,61
74 | 1,61
75 | 1,58
76 | 1,58
77 | 1,57
78 | 0,56
79 | 0,56
80 | 1,52
81 | 1,52
82 | 1,52
83 | 0,49
84 | 1,45
85 | 1,45
86 | 1,44
87 | 1,40
88 | 1,39
89 | 0,35
90 | 0,32
91 | 1,31
--------------------------------------------------------------------------------
/dados/perfil_notas_sem_identificacao.txt:
--------------------------------------------------------------------------------
1 | 'Unid. 1',
2 | 'Unid. 2',
3 | 'Unid. 3',
4 | 'Resultado',
5 | 'Sit.',
6 | 'Qual o seu conhecimento nos tópicos abaixo: [Operadores aritméticos]',
7 | 'Qual o seu conhecimento nos tópicos abaixo: [Estruturas condicionais (if, else, etc.) ]',
8 | 'Qual o seu conhecimento nos tópicos abaixo: [Operadores lógicos]',
9 | 'Qual o seu conhecimento nos tópicos abaixo: [Estruturas de repetição (while, for )]',
10 | 'Qual o seu conhecimento nos tópicos abaixo: [Vetores (Arrays) ]',
11 | 'Qual o seu conhecimento nos tópicos abaixo: [Desenvolvimento de Jogos]',
12 | 'Qual o seu conhecimento nos tópicos abaixo: [HTML]',
13 | 'Qual o seu conhecimento nos tópicos abaixo: [CSS]',
14 | 'Qual o seu conhecimento nos tópicos abaixo: [P5js ]',
15 | 'Qual a sua experiencia em: [C/C++]',
16 | 'Qual a sua experiencia em: [Java]',
17 | 'Qual a sua experiencia em: [JavaScript]',
18 | 'Qual a sua experiencia em: [Python]',
19 | 'Você tem acesso regular a um ambiente computacional no qual possa programar durante a disciplina?',
20 | 'Quanto tempo você disponível para estudar para disciplina por semana? (Em horas) ',
21 | 'Qual a intensidade do seu interesse pela disciplina de Lógica de Programação? ',
22 | 'Qual o tipo de escola você cursou no ensino médio?'
23 |
--------------------------------------------------------------------------------
/dados/perfil_politico.csv:
--------------------------------------------------------------------------------
1 | Apoia privatizações das empresas brasileiras?,Lula deve ser solto,O impeachment de Dilma foi um golpe?,Legalização do aborto,Políticas de ações afirmativas (cotas),A favor da reforma agrária,Todos os brasileiro devem alcançar suas conquistas através da meritocracia,Apoia a legalização do porte de armas,Apoia a redução da maioridade penal,Apoia a laicidade do Estado,Apoia a diminuição do Estado,As Universidades são um gasto público?,A favor do foro privilegiado?,A favor de uma reforma política?,A favor de uma diminuição de regalias para os políticos?
2 | 1,0,0,0.5,1,1,0.5,0.5,1,1,1,0,0,1,1
3 | 0.5,1,1,0.5,1,0.5,1,0,1,1,0.5,0,0,1,1
4 | 1,0,0,1,0.5,0.5,1,1,1,1,1,0,0,0,1
5 | 1,0,1,0,1,1,1,0,0,1,1,0,1,1,1
6 | 0,0,1,0,0,0,1,1,1,1,0,0,0,1,1
7 | 0,1,1,1,1,1,0.5,0,0,1,0,0,0.5,1,1
8 | 0,0.5,1,1,1,0,0,0,0.5,1,0,0,1,1,1
9 | 0.5,1,1,1,0.5,1,1,0.5,1,1,1,0,0,1,0
10 | 0.5,0,1,0,0.5,0.5,0,0,0,1,1,0,0,1,1
11 | 1,0,0,1,0,1,1,1,1,1,1,1,0,1,1
12 | 1,0,1,1,1,1,0,0,0,1,1,1,0,1,1
13 | 0.5,0,0.5,0,0.5,0,1,0,1,0.5,1,0,0,1,1
14 | 0.5,0.5,1,1,0.5,0,1,0,0.5,1,0.5,0,0,1,1
15 | 0.5,0.5,1,0,1,0.5,0,0,0,1,0,0,0,1,1
16 | 0,1,1,1,1,1,1,0,0,1,1,0,0,1,1
17 |
--------------------------------------------------------------------------------
/dados/perfil_politico2019.csv:
--------------------------------------------------------------------------------
1 | Apoia privatizações das empresas brasileiras?,Lula deve ser solto,O impeachment de Dilma foi um golpe?,Legalização do aborto,Políticas de ações afirmativas (cotas),A favor da reforma agrária,Todos os brasileiro devem alcançar suas conquistas através da meritocracia,Apoia a legalização do porte de armas,Apoia a redução da maioridade penal,Apoia a laicidade do Estado,Apoia a diminuição do Estado,As Universidades são um gasto público?,A favor do foro privilegiado?,A favor de uma reforma política?,A favor de uma diminuição de regalias para os políticos?
2 | 1,0,0,0.5,1,1,0.5,0.5,1,1,1,0,0,1,1
3 | 0.5,1,1,0.5,1,0.5,1,0,1,1,0.5,0,0,1,1
4 | 1,0,0,1,0.5,0.5,1,1,1,1,1,0,0,0,1
5 | 1,0,1,0,1,1,1,0,0,1,1,0,1,1,1
6 | 0,0,1,0,0,0,1,1,1,1,0,0,0,1,1
7 | 0,1,1,1,1,1,0.5,0,0,1,0,0,0.5,1,1
8 | 0,0.5,1,1,1,0,0,0,0.5,1,0,0,1,1,1
9 | 0.5,1,1,1,0.5,1,1,0.5,1,1,1,0,0,1,0
10 | 0.5,0,1,0,0.5,0.5,0,0,0,1,1,0,0,1,1
11 | 1,0,0,1,0,1,1,1,1,1,1,1,0,1,1
12 | 1,0,1,1,1,1,0,0,0,1,1,1,0,1,1
13 | 0.5,0,0.5,0,0.5,0,1,0,1,0.5,1,0,0,1,1
14 | 0.5,0.5,1,1,0.5,0,1,0,0.5,1,0.5,0,0,1,1
15 | 0.5,0.5,1,0,1,0.5,0,0,0,1,0,0,0,1,1
16 | 0,1,1,1,1,1,1,0,0,1,1,0,0,1,1
17 | 1,0,0,0,0.5,0.5,0.5,1,1,0.5,1,1,0,1,1
18 | 0.5,0,0,1,0,1,1,0,1,1,0.5,0,0,1,1
19 | 0.5,0,0,0.5,0.5,0.5,0.5,0,0,1,0.5,0,0,1,1
20 | 0,0.5,1,1,0.5,1,0,0,1,1,0.5,0.5,0,1,1
21 | 1,0.5,0.5,1,0,1,1,0,1,0,1,0.5,0.5,1,1
22 | 0.5,0.5,1,0.5,1,1,1,0,0,0.5,0.5,0,0,1,1
23 | 1,0,0,0,0,0,0.5,1,1,1,1,1,0,1,1
24 | 0.5,0.5,1,1,1,0.5,0.5,0,0,1,0.5,0,0,1,1
25 | 0.5,0.5,1,0,1,1,1,0,0,1,0.5,0,0,1,1
26 | 0.5,0,0.5,0,1,0.5,1,0.5,0.5,1,0.5,0,0,1,1
27 | 0.5,0.5,1,1,1,1,0,0.5,0,1,0.5,0,0,1,1
28 | 0.5,0,1,1,0,0,1,0.5,1,1,1,0,0,1,1
29 | 0.5,0,0.5,0.5,1,0.5,0,0,0,1,1,0,0,1,1
30 | 0,1,1,1,1,1,0,0,0,1,0.5,1,0,1,1
31 | 0,0,0,0,1,1,1,0,0,1,1,0,1,1,0
32 | 0.5,1,1,1,1,0.5,0.5,0,1,1,0.5,0.5,0,0.5,0.5
33 | 1,1,1,1,1,1,0,1,1,1,1,1,0,1,1
34 |
--------------------------------------------------------------------------------
/dados/pib_regioes_brasil.csv:
--------------------------------------------------------------------------------
1 | Local,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019
2 | Brasil,3885847000,4376382000,4814760000,5331618957,5778952780,5995787000,6269328000,6585479000,7004141000,7389131000
3 | Norte,207093645,241027920,259100991,292442290,308076997,320688313,337302084,367956432,387535316,420424257
4 | Nordeste,522769315,583412756,653067255,724523790,805099103,848579383,898361847,953428747,1004827440,1047765997
5 | Sudeste,2180987792,2455541523,2693051827,2948743736,3174690665,3238738052,3333233480,3482142785,3721316871,3917484197
6 | Sul,620180426,696247007,765001872,880286120,948453986,1008035065,1067358361,1122038154,1195550451,1272105071
7 | Centro-Oeste,354815823,400152794,444538054,485623020,542632030,579746186,633072229,659912882,694910923,731351478
8 | Rondônia,23907887,27574714,30112720,31121413,34030982,36563333,39460359,43516147,44913978,47091336
9 | Acre,8342356,8949434,10137925,11473930,13458698,13622802,13754240,14272941,15331123,15630017
10 | Amazonas,60877123,70734401,72242701,83051233,86668644,86568184,89039782,93240191,100109235,108181091
11 | Roraima,6639150,7303719,7711467,9010725,9744122,10242905,11013237,12104709,13369988,14292227
12 | Pará,82684518,98710736,107080881,121224847,124584945,130899505,138107514,155232404,161349602,178376984
13 | Amapá,8237795,9409228,11130868,12763486,13400284,13861293,14342135,15481908,16795207,17496661
14 | Tocantins,16404816,18345688,20684430,23796656,26189323,28930291,31584816,34108132,35666183,39355941
15 | Maranhão,46309633,52143535,60490109,67694845,76842028,78475994,85310038,89542757,98179496,97339938
16 | Piauí,22269149,25941362,28637685,31283593,37723497,39149686,41416937,45365541,50378418,52780785
17 | Ceará,79336299,89695828,96973753,109036556,126054472,130629849,138422521,147921534,155903825,163575327
18 | Rio Grande do Norte,36184502,40992925,46412208,51518457,54022584,57250867,59677389,64305995,66969562,71336780
19 | Paraíba,33522492,37109137,42488349,46377299,52936483,56141890,59104781,62396776,64373595,67986074
20 | Pernambuco,97189760,110161559,127989043,141150252,155142648,156963668,167345031,181609501,186351975,197853378
21 | Alagoas,27133038,31657321,34650397,37282529,40974994,46367211,49468741,52851067,54413047,58963729
22 | Sergipe,26404893,29108272,32853181,35335986,37472432,38556530,38877438,40711486,42017981,44689483
23 | Bahia,154419547,166602817,182572530,204844274,223929966,245043690,258738970,268724090,286239541,293240504
24 | Minas Gerais,351123418,400124687,442282830,488004903,516633984,519331213,544810468,576375545,614875820,651872684
25 | Espírito Santo,85310285,105976222,116850581,117274347,128783781,120365980,109264423,113399937,137020055,137345595
26 | Rio de Janeiro,449858101,512767905,574884973,628226069,671076844,659138952,640401206,671605668,758859047,779927917
27 | São Paulo,1294695988,1436672709,1559033444,1715238417,1858196055,1939901907,2038757382,2120761635,2210561949,2348338000
28 | Paraná,225205255,257122269,285620202,333481152,348084191,376962822,401814164,421497870,440029403,466377036
29 | Santa Catarina,153726007,174068322,191794652,214512242,242553371,249079642,256754669,277270237,298227090,323263857
30 | Rio Grande do Sul,241249164,265056416,287587019,332292726,357816424,381992601,408789528,423270047,457293958,482464177
31 | Mato Grosso do Sul,47270656,55133162,62013201,69203201,78950133,83082555,91892285,96396434,106969142,106943246
32 | Mato Grosso,56600955,69153957,79665691,89212919,101234520,107418319,123880296,126845898,137442853,142122028
33 | Goiás,106770109,121296721,138757825,151300175,165015318,173632450,181759604,191948301,195681724,208672492
34 | Distrito Federal,144174102,154568954,164101336,175906726,197432059,215612863,235540045,244722249,254817205,273613711
35 |
--------------------------------------------------------------------------------
/dados/pop_brasil.csv:
--------------------------------------------------------------------------------
1 | ano,população
2 | 1872,9930478
3 | 1890,14333915
4 | 1900,17438434
5 | 1920,30635605
6 | 1940,41236315
7 | 1950,51944397
8 | 1960,70992343
9 | 1970,94508583
10 | 1980,121150573
11 | 1991,146917459
12 | 2000,169590693
13 | 2010,190755799
--------------------------------------------------------------------------------
/dados/preco_casas.csv:
--------------------------------------------------------------------------------
1 | Área (m²),Preço (R$)
2 | 50,100000
3 | 70,150000
4 | 100,200000
5 | 120,220000
6 | 150,250000
7 | 80,160000
8 | 90,180000
9 | 110,210000
10 | 130,230000
11 | 160,260000
12 | 75,155000
13 | 85,170000
14 | 95,185000
15 | 105,195000
16 | 115,205000
17 | 125,215000
18 | 135,225000
19 | 120,235000
20 | 141,240000
21 | 135,255000
22 | 161,265000
23 | 150,270000
24 | 179,275000
25 | 160,280000
26 | 182,285000
27 | 190,290000
28 | 181,295000
29 | 200,300000
30 | 201,305000
31 | 203,310000
32 |
--------------------------------------------------------------------------------
/dados/salario_x_experiencia.csv:
--------------------------------------------------------------------------------
1 | Salário,Experiência
2 | 19307,0
3 | 31769,17
4 | 22769,8
5 | 31307,15
6 | 27769,9
7 | 30923,15
8 | 26538,8
9 | 22230,5
10 | 28538,13
11 | 32307,20
12 | 28230,11
13 | 19076,1
14 | 25384,6
15 | 25692,7
16 | 42230,23
17 | 40923,20
18 | 36000,18
19 | 47076,27
20 | 31461,11
21 | 29923,10
22 | 47461,29
23 | 41153,23
24 | 23615,4
25 | 40923,22
26 | 45076,25
27 | 29076,9
28 | 44846,25
29 |
--------------------------------------------------------------------------------
/dados/ultrassom_simples_radar_1.csv:
--------------------------------------------------------------------------------
1 | a20,a40,a60,a80,a100,a120,a140,a160,comando
2 | 51,51,51,26,51,26,18,51,d
3 | 51,51,51,51,51,14,16,51,d
4 | 51,51,35,51,51,51,21,51,d
5 | 51,51,51,51,51,51,23,51,d
6 | 51,51,51,51,51,24,21,37,d
7 | 51,51,51,51,51,23,23,51,d
8 | 51,51,51,51,51,23,24,51,d
9 | 51,51,51,51,51,27,51,51,d
10 | 51,51,51,51,51,30,51,51,d
11 | 51,51,51,51,51,31,30,51,d
12 | 51,51,51,51,51,51,28,51,d
13 | 51,51,51,51,51,51,28,28,d
14 | 51,51,51,51,51,51,26,51,d
15 | 51,51,51,51,51,31,35,51,d
16 | 51,51,51,51,30,36,35,51,d
17 | 51,51,51,33,51,37,36,51,d
18 | 51,51,32,51,51,40,39,51,d
19 | 51,51,51,51,51,51,33,51,d
20 | 51,51,51,51,51,28,51,51,d
21 | 51,51,51,51,29,51,51,51,d
22 | 51,51,51,51,51,51,39,36,d
23 | 51,51,51,29,51,51,39,38,d
24 | 51,51,29,51,51,51,39,40,d
25 | 51,27,51,51,51,51,39,51,d
26 | 51,51,51,51,51,51,34,40,d
27 | 51,51,51,51,51,27,51,51,d
28 | 51,51,51,28,51,51,51,51,d
29 | 51,51,26,51,51,51,37,51,d
30 | 51,36,51,51,51,51,38,35,d
31 | 51,51,51,51,51,39,26,51,d
32 | 51,51,51,51,51,28,38,51,d
33 | 51,51,51,51,38,51,51,51,d
34 | 51,51,51,51,51,51,51,51,d
35 | 51,51,51,51,51,51,51,51,d
36 | 51,51,51,51,51,34,51,51,d
37 | 51,51,51,51,28,51,51,51,d
38 | 51,51,51,27,51,51,51,51,d
39 | 51,51,22,51,51,51,51,51,d
40 | 51,51,51,51,51,51,31,51,d
41 | 51,51,51,51,51,26,51,51,d
42 | 51,51,51,51,27,51,51,51,d
43 | 51,51,51,25,51,51,51,51,d
44 | 51,51,26,51,51,51,51,51,d
45 | 51,27,51,51,51,51,51,51,d
46 | 51,51,51,51,51,51,25,51,d
47 | 51,51,51,51,51,25,51,51,d
48 | 51,51,51,51,26,51,51,51,d
49 | 23,21,51,51,51,51,51,51,e
50 | 16,16,51,51,51,51,51,51,e
51 | 19,20,21,51,51,51,51,51,e
52 | 18,17,16,51,51,51,51,51,e
53 | 51,16,51,51,51,51,51,51,e
54 | 51,51,21,51,51,51,51,51,e
55 | 51,51,26,28,51,51,27,51,e
56 | 51,51,32,34,51,26,51,51,e
57 | 51,36,34,51,31,51,51,51,e
58 | 51,51,36,29,51,51,51,51,e
59 | 51,51,24,51,51,51,51,51,e
60 | 51,27,51,51,51,51,51,51,e
61 | 26,51,51,51,51,51,51,51,e
62 | 51,51,51,27,51,51,51,51,e
63 | 51,51,26,51,51,51,51,51,e
64 | 51,25,51,51,51,51,51,51,e
65 | 51,51,51,26,51,51,51,51,e
66 | 51,51,51,28,51,51,51,51,e
67 | 51,51,24,51,51,51,51,51,e
68 | 51,25,51,51,51,51,51,51,e
69 | 51,39,37,25,51,51,51,51,e
70 | 51,51,26,51,51,51,51,51,e
71 | 51,25,51,51,51,51,51,51,e
72 | 34,51,39,51,51,51,37,51,e
73 | 51,51,51,26,51,51,51,51,e
74 | 51,51,24,51,51,51,51,51,e
75 | 51,31,51,51,51,51,51,39,e
76 | 51,51,21,51,51,51,51,51,e
77 | 51,26,51,51,51,51,51,51,e
78 | 34,51,51,51,51,51,34,51,e
79 | 36,35,24,51,51,51,51,51,e
80 | 29,27,31,51,51,51,51,51,e
81 | 28,28,27,51,51,51,51,34,e
82 | 51,27,24,51,51,51,51,51,e
83 | 51,51,51,51,51,31,51,51,e
84 | 51,51,51,51,51,51,51,51,f
85 | 51,51,51,51,51,51,51,51,f
86 | 51,51,51,51,51,51,51,51,f
87 | 51,51,51,14,12,12,51,51,f
88 | 51,51,51,10,10,13,22,51,f
89 | 51,51,51,12,12,16,39,51,f
90 | 51,51,51,15,13,16,51,51,f
91 | 51,51,51,18,16,18,51,51,f
92 | 51,51,51,20,18,20,34,51,f
93 | 51,51,51,51,20,51,51,51,f
94 | 51,51,51,51,20,51,51,51,f
95 | 51,51,51,21,20,22,51,51,f
96 | 51,51,51,20,20,23,51,51,f
97 | 51,51,51,22,21,23,51,51,f
98 | 51,51,51,51,24,25,51,51,f
99 | 51,51,51,51,25,51,51,51,f
100 | 51,51,51,51,27,51,51,33,f
101 | 51,51,51,51,27,30,40,51,f
102 | 51,51,51,51,27,36,51,51,f
103 | 51,51,51,51,27,31,51,51,f
104 | 51,51,51,29,30,51,51,51,f
105 | 51,51,34,51,30,51,51,51,f
106 | 51,35,51,51,30,51,51,51,f
107 | 51,51,51,51,31,51,51,51,f
108 | 51,51,51,51,31,34,51,51,f
109 | 51,51,51,32,31,36,51,51,f
110 | 51,51,51,33,33,36,51,51,f
111 | 51,51,51,51,36,51,51,51,f
112 | 51,33,51,51,37,51,51,51,f
113 | 51,51,51,51,40,33,51,51,f
114 | 51,51,51,39,28,37,51,51,f
115 | 51,51,51,28,38,38,51,51,f
116 | 51,51,28,51,37,38,51,51,f
117 | 51,27,51,40,39,40,51,51,f
118 | 29,51,51,40,38,51,51,51,f
119 | 51,51,51,39,39,33,51,51,f
120 | 51,51,51,51,28,51,51,51,f
121 | 51,51,51,28,51,51,51,51,f
122 | 51,51,51,51,27,51,51,51,f
123 | 51,51,51,23,51,51,51,51,f
124 | 51,51,26,51,51,51,51,51,f
125 | 51,26,51,51,51,51,51,51,f
126 | 33,51,51,51,51,51,34,51,f
127 | 51,51,51,51,51,27,51,51,f
128 | 51,51,51,51,27,51,51,51,f
129 | 51,51,51,27,39,51,51,51,f
130 | 51,51,24,51,51,51,51,51,f
131 | 51,51,51,51,51,51,27,51,f
132 | 51,51,51,51,51,26,51,51,f
133 | 51,51,51,51,28,51,51,51,f
134 | 51,51,51,26,51,51,51,51,f
135 | 51,51,51,51,51,51,51,51,f
136 | 51,51,51,51,51,51,51,51,f
137 |
138 |
--------------------------------------------------------------------------------
/dados/ultrassom_simples_radar_1_reduzida.csv:
--------------------------------------------------------------------------------
1 | a20,a40,a60,a80,a100,a120,a140,a160,comando
2 | 51,51,51,51,51,14,16,51,d
3 | 51,51,51,51,51,24,21,37,d
4 | 51,51,51,51,51,51,28,28,d
5 | 23,21,51,51,51,51,51,51,e
6 | 51,16,51,51,51,51,51,51,e
7 | 51,36,34,51,31,51,51,51,e
8 | 51,51,51,16,13,51,51,51,f
9 | 51,51,51,51,27,51,51,51,f
10 | 51,51,51,23,51,51,51,51,f
11 | 51,51,51,51,51,51,51,51,f
12 |
--------------------------------------------------------------------------------
/dados/xor_3.csv:
--------------------------------------------------------------------------------
1 | a,b,xor
2 | -1,-0.6,0
3 | -1,0.2,1
4 | -1,1,1
5 | -0.8,-0.4,0
6 | -0.8,0.4,1
7 | -0.6,0,0
8 | -0.6,-0.2,1
9 | -0.6,0.6,1
10 | -0.4,-0.8,0
11 | -0.4,0,1
12 | -0.4,0.8,1
13 | -0.2,-0.6,1
14 | -0.2,0.2,1
15 | -0.2,1,1
16 | 0,-0.4,1
17 | 0,0.4,1
18 | 0.2,-1,1
19 | 0.2,-0.2,1
20 | 0.2,0.6,1
21 | 0.4,-0.8,1
22 | 0.4,0,1
23 | 0.4,0.8,0
24 | 0.6,-0.6,1
25 | 0.6,0.2,1
26 | 0.6,1,0
27 | 0.8,-0.4,1
28 | 0.8,0.4,0
29 | 1,-1,1
30 | 1,-0.2,1
31 | 1,0.6,0
32 |
--------------------------------------------------------------------------------
/dados/zoo.csv:
--------------------------------------------------------------------------------
1 | animal_name,hair,feathers,eggs,milk,airborne,aquatic,predator,toothed,backbone,breathes,venomous,fins,legs,tail,domestic,catsize,class_type
2 | aardvark,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1
3 | antelope,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1
4 | bass,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4
5 | bear,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1
6 | boar,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
7 | buffalo,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1
8 | calf,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1
9 | carp,0,0,1,0,0,1,0,1,1,0,0,1,0,1,1,0,4
10 | catfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4
11 | cavy,1,0,0,1,0,0,0,1,1,1,0,0,4,0,1,0,1
12 | cheetah,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
13 | chicken,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2
14 | chub,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4
15 | clam,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,7
16 | crab,0,0,1,0,0,1,1,0,0,0,0,0,4,0,0,0,7
17 | crayfish,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7
18 | crow,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2
19 | deer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1
20 | dogfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4
21 | dolphin,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1
22 | dove,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2
23 | duck,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,0,2
24 | elephant,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1
25 | flamingo,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,1,2
26 | flea,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6
27 | frog,0,0,1,0,0,1,1,1,1,1,0,0,4,0,0,0,5
28 | frog,0,0,1,0,0,1,1,1,1,1,1,0,4,0,0,0,5
29 | fruitbat,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1
30 | giraffe,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1
31 | girl,1,0,0,1,0,0,1,1,1,1,0,0,2,0,1,1,1
32 | gnat,0,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6
33 | goat,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1
34 | gorilla,1,0,0,1,0,0,0,1,1,1,0,0,2,0,0,1,1
35 | gull,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2
36 | haddock,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4
37 | hamster,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,0,1
38 | hare,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1
39 | hawk,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2
40 | herring,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4
41 | honeybee,1,0,1,0,1,0,0,0,0,1,1,0,6,0,1,0,6
42 | housefly,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6
43 | kiwi,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,0,2
44 | ladybird,0,0,1,0,1,0,1,0,0,1,0,0,6,0,0,0,6
45 | lark,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2
46 | leopard,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
47 | lion,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
48 | lobster,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7
49 | lynx,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
50 | mink,1,0,0,1,0,1,1,1,1,1,0,0,4,1,0,1,1
51 | mole,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1
52 | mongoose,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
53 | moth,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6
54 | newt,0,0,1,0,0,1,1,1,1,1,0,0,4,1,0,0,5
55 | octopus,0,0,1,0,0,1,1,0,0,0,0,0,8,0,0,1,7
56 | opossum,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1
57 | oryx,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1
58 | ostrich,0,1,1,0,0,0,0,0,1,1,0,0,2,1,0,1,2
59 | parakeet,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2
60 | penguin,0,1,1,0,0,1,1,0,1,1,0,0,2,1,0,1,2
61 | pheasant,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2
62 | pike,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4
63 | piranha,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4
64 | pitviper,0,0,1,0,0,0,1,1,1,1,1,0,0,1,0,0,3
65 | platypus,1,0,1,1,0,1,1,0,1,1,0,0,4,1,0,1,1
66 | polecat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
67 | pony,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1
68 | porpoise,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1
69 | puma,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
70 | pussycat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,1,1,1
71 | raccoon,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
72 | reindeer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1
73 | rhea,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,1,2
74 | scorpion,0,0,0,0,0,0,1,0,0,1,1,0,8,1,0,0,7
75 | seahorse,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4
76 | seal,1,0,0,1,0,1,1,1,1,1,0,1,0,0,0,1,1
77 | sealion,1,0,0,1,0,1,1,1,1,1,0,1,2,1,0,1,1
78 | seasnake,0,0,0,0,0,1,1,1,1,0,1,0,0,1,0,0,3
79 | seawasp,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,7
80 | skimmer,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2
81 | skua,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2
82 | slowworm,0,0,1,0,0,0,1,1,1,1,0,0,0,1,0,0,3
83 | slug,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7
84 | sole,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4
85 | sparrow,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2
86 | squirrel,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,0,1
87 | starfish,0,0,1,0,0,1,1,0,0,0,0,0,5,0,0,0,7
88 | stingray,0,0,1,0,0,1,1,1,1,0,1,1,0,1,0,1,4
89 | swan,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,1,2
90 | termite,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6
91 | toad,0,0,1,0,0,1,0,1,1,1,0,0,4,0,0,0,5
92 | tortoise,0,0,1,0,0,0,0,0,1,1,0,0,4,1,0,1,3
93 | tuatara,0,0,1,0,0,0,1,1,1,1,0,0,4,1,0,0,3
94 | tuna,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4
95 | vampire,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1
96 | vole,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1
97 | vulture,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,1,2
98 | wallaby,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,1,1
99 | wasp,1,0,1,0,1,0,0,0,0,1,1,0,6,0,0,0,6
100 | wolf,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1
101 | worm,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7
102 | wren,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2
103 |
--------------------------------------------------------------------------------
/entrega_trabalho_final_2020.md:
--------------------------------------------------------------------------------
1 | # Trabalho Final
2 | * Procedimento para entrega
3 | * Entrega via atividade no SIGAA
4 |
5 | ## Relatório
6 | * Escrever o relatório de acordo com o modelo: [ver este link](https://github.com/ect-info/ml/blob/master/relatorio_ml_vc.md)
7 |
8 | ## Código
9 | * Gerar um link para o código e colocar em sua respectiva seção no relatório
10 |
11 | ## Vídeo
12 | * Apresentação com duração de 5 a 15 minutos (uma sugestão)
13 | * Explicar rapidamente:
14 | * O problema
15 | * A base de dados
16 | * Explicar como o conhecimento visto na(s) disciplina(s) foi aplicado
17 | * Discutir os resultados
18 |
--------------------------------------------------------------------------------
/guias/Perceptron/Perceptron.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import pandas as pd
3 | import matplotlib.pyplot as plt
4 | from matplotlib.colors import ListedColormap
5 |
6 | class Perceptron(object):
7 | """Implementa um Perceptron"""
8 | def __init__(self, input_size, epochs = 100, learning_rate = 0.01):
9 | # Adiciona o bias no vetor de pesos
10 | self.weights = np.zeros(input_size + 1)
11 | self.lr = learning_rate
12 | self.epochs = epochs
13 |
14 | # Função de ativação
15 | def sgn_activation(self, input):
16 | return 1 if input >= 0 else 0
17 |
18 | def predict(self, inputs):
19 | summ = np.dot(inputs, self.weights[1:]) + self.weights[0]
20 |
21 | return self.sgn_activation(summ)
22 |
23 | def train(self, training_inputs, labels):
24 | for _ in range(self.epochs):
25 | for inputs, label in zip(training_inputs, labels):
26 | prediction = self.predict(inputs)
27 | # Atualiza os pesos: w <- w + α(y — f(x))x
28 | self.weights[1:] += self.lr * (label - prediction) * inputs
29 | # Atualiza o bias
30 | self.weights[0] += self.lr * (label - prediction)
31 |
32 | def printData(data):
33 | plt.title("Iris Dataset")
34 | plt.scatter(data[:50, 0], data[:50, 1], color='red', marker='o', label='setosa')
35 | plt.scatter(data[50:100, 0], data[50:100, 1], color='blue', marker='x', label='versicolor')
36 | plt.xlabel('Petal length (cm)')
37 | plt.ylabel('Sepal length (cm)')
38 | plt.legend(loc='upper left')
39 | plt.show()
40 |
41 | if __name__ == "__main__":
42 | # Importa o iris dataset
43 | dataset = pd.read_csv('./iris_data.csv', header=None)
44 |
45 | # Extrai os 100 primeiras rotulos
46 | labels = dataset.iloc[0:100, 4].values
47 |
48 | # Substitui o nome dos rotulos por 0 ou 1
49 | labels = np.where(labels == 'Iris-setosa', 0, 1)
50 |
51 | # Extrai duas caracteristicas das 100 primeiras amostras
52 | inputs = dataset.iloc[0:100, [0, 2]].values
53 |
54 | # Instacia um percetron
55 | perceptron = Perceptron(2)
56 | perceptron.train(inputs, labels)
57 |
58 | # Testes
59 | test_inputs = np.array([
60 | [5.0, 1.4],
61 | [4.9, 1.4],
62 | [6.0, 4.9],
63 | [6.3, 4.5]
64 | ])
65 |
66 | test_label = np.array([0, 0, 1, 1])
67 |
68 | for i, item in enumerate(test_inputs):
69 | print("Prediction for {} is {}, expected were {}".format(
70 | item, perceptron.predict(item), test_label[i]
71 | )
72 | )
73 |
74 | # Mostra um gráfico com as amostras
75 | printData(inputs)
76 |
77 |
78 |
--------------------------------------------------------------------------------
/guias/Perceptron/README.md:
--------------------------------------------------------------------------------
1 | # Guia do Perceptron
2 |
3 | O objetetivo do seguinte guia é a implementação de uma classe na linguagem de programação python que implemente o algoritmo de aprendizado supervisionado **Perceptron**.
4 |
5 | São necessários alguns conhecimentos prévio do paradigma de orientação à objetos em Python.
6 |
7 | ## Dica
8 |
9 | Utilize a biblioteca de programação *numpy* para instanciar eventuais arrays e matrizes, pois a mesma implementa métodos muito úteis que facilitam e aceleram o desenvolvimento.
10 |
11 | ## Criação da Classe Perceptron
12 |
13 | ### Etapa 1
14 |
15 | Crie a classe Perceptron e em seu construtor receba e inicie as seguintes argumentos: tamanho da entrada, quantidade de épocas para o treinamento e taxa de aprendizagem.
16 |
17 | Dentro do construtor inicie um vetor para armezar os pesos do percepton, esse vetor deve possuir *tamanho da entrada* mais uma possições (esse acréscimo é necessário para que o *bias* seja tratado operado juntamente com os pesos, sendo assim o *bias* será o primeito elemento do array) todas inicialmete iguais a zero.
18 |
19 | ```python
20 | class Perceptron(object):
21 |
22 | def __init__(self, input_size, epochs, learning_rate):
23 | # Seu código para inicar os argumentos
24 | ```
25 |
26 | ### Etapa 2
27 |
28 | Na classe Perceptron implemente um método para a função de ativação do Perceptron, esse método deve retornar 1 se a entrada for maior ou igual a zero ou 0 caso contrário.
29 |
30 | ```python
31 | def ativacao(self, entrada):
32 | # Seu código
33 | ```
34 |
35 | ### Etapa 3
36 |
37 | Na classe Perceptron implemente um método para a predição de uma saída dado uma entrada, para isso o método deve fazer a soma do bias com produto escalar da entrada com o vetor de pesos (sem o bias) e retornar o resultado da aplicação da função de ativação nessa soma.
38 |
39 | ```python
40 | def predizer(self, entrada):
41 | # Seu código
42 | ```
43 |
44 | ### Etapa 4
45 |
46 | Por fim deve-se implementar um método para o treinamento do Perceptron, tal método deve receber como parâmetros as entradas a serem ajustadas e seus rótulos.
47 |
48 | O método deve executar as seguintes intruções *quantidade de épocas* vezes para cada par de entrada, rótulo:
49 |
50 | * Obtenha uma predição inicial para a entrada
51 | * Atualize o vetor vetor de pesos de acordo com a equação w = w + taxa_de_aprendizado * (rótulo — predição) * entrada
52 | * Atualize o *bias* de acordo com a equação bias = bias + taxa_de_aprendizado * (rótulo — predição)
53 |
54 | ```python
55 | def train(self, entrada, rotulo):
56 | for _ in range(self.epocas):
57 | for entrada, rotulo in zip(entrada, rotulo):
58 | # Seu código
59 | ```
60 |
61 | ## Testes do Perceptron
62 |
63 | A seguir segue a descrição do processo de uso do perceptron para realizar uma classificação binária com duas entradas, os dados de treino e o resultado esperado estão na imagem a seguir.
64 |
65 | 
66 |
67 | ```python
68 | # Cria o array de entradas
69 | entradas = np.array([
70 | [0, 0],
71 | [0, 1],
72 | [1, 0],
73 | [1, 1]
74 | ])
75 |
76 | # Cria um rotulo para cada entrada
77 | rotulos = np.array([0, 0, 0, 1])
78 |
79 | # Instancia um Perceptron
80 | perceptron = Perceptron(tamanho_entrada = 2, epocas = 100, taxa_aprendizado = 0.01)
81 |
82 | # Treina o Perceptron para os dados de entrada
83 | perceptron.train(entradas, rotulos)
84 |
85 |
86 | testes = np.array([
87 | [0.5, 0.5],
88 | [0.1, 0.3],
89 | [1.5, 1.5],
90 | [2.4, 2.5]
91 | ])
92 |
93 | for i in testes:
94 | print("Predicao para {} foi {}".format(
95 | i, perceptron.predict(i)
96 | )
97 | )
98 | ```
99 |
100 | ## Caso fique perdido
101 |
102 | No caso de se perder durante a implementação, aqui esta um [exemplo](https://github.com/ect-info/ml/tree/master/guias/Perceptron/Perceptron.py) do perceptron implementado no [dataset Iris](https://archive.ics.uci.edu/ml/datasets/iris).
103 |
104 |
105 |
106 |
107 |
108 |
109 |
--------------------------------------------------------------------------------
/guias/Perceptron/and.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ect-comp/ml/e60eb0930553d616d3581f3c969a259025e72a8d/guias/Perceptron/and.jpg
--------------------------------------------------------------------------------
/guias/Perceptron/iris_data.csv:
--------------------------------------------------------------------------------
1 | 5.1,3.5,1.4,0.2,Iris-setosa
2 | 4.9,3.0,1.4,0.2,Iris-setosa
3 | 4.7,3.2,1.3,0.2,Iris-setosa
4 | 4.6,3.1,1.5,0.2,Iris-setosa
5 | 5.0,3.6,1.4,0.2,Iris-setosa
6 | 5.4,3.9,1.7,0.4,Iris-setosa
7 | 4.6,3.4,1.4,0.3,Iris-setosa
8 | 5.0,3.4,1.5,0.2,Iris-setosa
9 | 4.4,2.9,1.4,0.2,Iris-setosa
10 | 4.9,3.1,1.5,0.1,Iris-setosa
11 | 5.4,3.7,1.5,0.2,Iris-setosa
12 | 4.8,3.4,1.6,0.2,Iris-setosa
13 | 4.8,3.0,1.4,0.1,Iris-setosa
14 | 4.3,3.0,1.1,0.1,Iris-setosa
15 | 5.8,4.0,1.2,0.2,Iris-setosa
16 | 5.7,4.4,1.5,0.4,Iris-setosa
17 | 5.4,3.9,1.3,0.4,Iris-setosa
18 | 5.1,3.5,1.4,0.3,Iris-setosa
19 | 5.7,3.8,1.7,0.3,Iris-setosa
20 | 5.1,3.8,1.5,0.3,Iris-setosa
21 | 5.4,3.4,1.7,0.2,Iris-setosa
22 | 5.1,3.7,1.5,0.4,Iris-setosa
23 | 4.6,3.6,1.0,0.2,Iris-setosa
24 | 5.1,3.3,1.7,0.5,Iris-setosa
25 | 4.8,3.4,1.9,0.2,Iris-setosa
26 | 5.0,3.0,1.6,0.2,Iris-setosa
27 | 5.0,3.4,1.6,0.4,Iris-setosa
28 | 5.2,3.5,1.5,0.2,Iris-setosa
29 | 5.2,3.4,1.4,0.2,Iris-setosa
30 | 4.7,3.2,1.6,0.2,Iris-setosa
31 | 4.8,3.1,1.6,0.2,Iris-setosa
32 | 5.4,3.4,1.5,0.4,Iris-setosa
33 | 5.2,4.1,1.5,0.1,Iris-setosa
34 | 5.5,4.2,1.4,0.2,Iris-setosa
35 | 4.9,3.1,1.5,0.1,Iris-setosa
36 | 5.0,3.2,1.2,0.2,Iris-setosa
37 | 5.5,3.5,1.3,0.2,Iris-setosa
38 | 4.9,3.1,1.5,0.1,Iris-setosa
39 | 4.4,3.0,1.3,0.2,Iris-setosa
40 | 5.1,3.4,1.5,0.2,Iris-setosa
41 | 5.0,3.5,1.3,0.3,Iris-setosa
42 | 4.5,2.3,1.3,0.3,Iris-setosa
43 | 4.4,3.2,1.3,0.2,Iris-setosa
44 | 5.0,3.5,1.6,0.6,Iris-setosa
45 | 5.1,3.8,1.9,0.4,Iris-setosa
46 | 4.8,3.0,1.4,0.3,Iris-setosa
47 | 5.1,3.8,1.6,0.2,Iris-setosa
48 | 4.6,3.2,1.4,0.2,Iris-setosa
49 | 5.3,3.7,1.5,0.2,Iris-setosa
50 | 5.0,3.3,1.4,0.2,Iris-setosa
51 | 7.0,3.2,4.7,1.4,Iris-versicolor
52 | 6.4,3.2,4.5,1.5,Iris-versicolor
53 | 6.9,3.1,4.9,1.5,Iris-versicolor
54 | 5.5,2.3,4.0,1.3,Iris-versicolor
55 | 6.5,2.8,4.6,1.5,Iris-versicolor
56 | 5.7,2.8,4.5,1.3,Iris-versicolor
57 | 6.3,3.3,4.7,1.6,Iris-versicolor
58 | 4.9,2.4,3.3,1.0,Iris-versicolor
59 | 6.6,2.9,4.6,1.3,Iris-versicolor
60 | 5.2,2.7,3.9,1.4,Iris-versicolor
61 | 5.0,2.0,3.5,1.0,Iris-versicolor
62 | 5.9,3.0,4.2,1.5,Iris-versicolor
63 | 6.0,2.2,4.0,1.0,Iris-versicolor
64 | 6.1,2.9,4.7,1.4,Iris-versicolor
65 | 5.6,2.9,3.6,1.3,Iris-versicolor
66 | 6.7,3.1,4.4,1.4,Iris-versicolor
67 | 5.6,3.0,4.5,1.5,Iris-versicolor
68 | 5.8,2.7,4.1,1.0,Iris-versicolor
69 | 6.2,2.2,4.5,1.5,Iris-versicolor
70 | 5.6,2.5,3.9,1.1,Iris-versicolor
71 | 5.9,3.2,4.8,1.8,Iris-versicolor
72 | 6.1,2.8,4.0,1.3,Iris-versicolor
73 | 6.3,2.5,4.9,1.5,Iris-versicolor
74 | 6.1,2.8,4.7,1.2,Iris-versicolor
75 | 6.4,2.9,4.3,1.3,Iris-versicolor
76 | 6.6,3.0,4.4,1.4,Iris-versicolor
77 | 6.8,2.8,4.8,1.4,Iris-versicolor
78 | 6.7,3.0,5.0,1.7,Iris-versicolor
79 | 6.0,2.9,4.5,1.5,Iris-versicolor
80 | 5.7,2.6,3.5,1.0,Iris-versicolor
81 | 5.5,2.4,3.8,1.1,Iris-versicolor
82 | 5.5,2.4,3.7,1.0,Iris-versicolor
83 | 5.8,2.7,3.9,1.2,Iris-versicolor
84 | 6.0,2.7,5.1,1.6,Iris-versicolor
85 | 5.4,3.0,4.5,1.5,Iris-versicolor
86 | 6.0,3.4,4.5,1.6,Iris-versicolor
87 | 6.7,3.1,4.7,1.5,Iris-versicolor
88 | 6.3,2.3,4.4,1.3,Iris-versicolor
89 | 5.6,3.0,4.1,1.3,Iris-versicolor
90 | 5.5,2.5,4.0,1.3,Iris-versicolor
91 | 5.5,2.6,4.4,1.2,Iris-versicolor
92 | 6.1,3.0,4.6,1.4,Iris-versicolor
93 | 5.8,2.6,4.0,1.2,Iris-versicolor
94 | 5.0,2.3,3.3,1.0,Iris-versicolor
95 | 5.6,2.7,4.2,1.3,Iris-versicolor
96 | 5.7,3.0,4.2,1.2,Iris-versicolor
97 | 5.7,2.9,4.2,1.3,Iris-versicolor
98 | 6.2,2.9,4.3,1.3,Iris-versicolor
99 | 5.1,2.5,3.0,1.1,Iris-versicolor
100 | 5.7,2.8,4.1,1.3,Iris-versicolor
101 | 6.3,3.3,6.0,2.5,Iris-virginica
102 | 5.8,2.7,5.1,1.9,Iris-virginica
103 | 7.1,3.0,5.9,2.1,Iris-virginica
104 | 6.3,2.9,5.6,1.8,Iris-virginica
105 | 6.5,3.0,5.8,2.2,Iris-virginica
106 | 7.6,3.0,6.6,2.1,Iris-virginica
107 | 4.9,2.5,4.5,1.7,Iris-virginica
108 | 7.3,2.9,6.3,1.8,Iris-virginica
109 | 6.7,2.5,5.8,1.8,Iris-virginica
110 | 7.2,3.6,6.1,2.5,Iris-virginica
111 | 6.5,3.2,5.1,2.0,Iris-virginica
112 | 6.4,2.7,5.3,1.9,Iris-virginica
113 | 6.8,3.0,5.5,2.1,Iris-virginica
114 | 5.7,2.5,5.0,2.0,Iris-virginica
115 | 5.8,2.8,5.1,2.4,Iris-virginica
116 | 6.4,3.2,5.3,2.3,Iris-virginica
117 | 6.5,3.0,5.5,1.8,Iris-virginica
118 | 7.7,3.8,6.7,2.2,Iris-virginica
119 | 7.7,2.6,6.9,2.3,Iris-virginica
120 | 6.0,2.2,5.0,1.5,Iris-virginica
121 | 6.9,3.2,5.7,2.3,Iris-virginica
122 | 5.6,2.8,4.9,2.0,Iris-virginica
123 | 7.7,2.8,6.7,2.0,Iris-virginica
124 | 6.3,2.7,4.9,1.8,Iris-virginica
125 | 6.7,3.3,5.7,2.1,Iris-virginica
126 | 7.2,3.2,6.0,1.8,Iris-virginica
127 | 6.2,2.8,4.8,1.8,Iris-virginica
128 | 6.1,3.0,4.9,1.8,Iris-virginica
129 | 6.4,2.8,5.6,2.1,Iris-virginica
130 | 7.2,3.0,5.8,1.6,Iris-virginica
131 | 7.4,2.8,6.1,1.9,Iris-virginica
132 | 7.9,3.8,6.4,2.0,Iris-virginica
133 | 6.4,2.8,5.6,2.2,Iris-virginica
134 | 6.3,2.8,5.1,1.5,Iris-virginica
135 | 6.1,2.6,5.6,1.4,Iris-virginica
136 | 7.7,3.0,6.1,2.3,Iris-virginica
137 | 6.3,3.4,5.6,2.4,Iris-virginica
138 | 6.4,3.1,5.5,1.8,Iris-virginica
139 | 6.0,3.0,4.8,1.8,Iris-virginica
140 | 6.9,3.1,5.4,2.1,Iris-virginica
141 | 6.7,3.1,5.6,2.4,Iris-virginica
142 | 6.9,3.1,5.1,2.3,Iris-virginica
143 | 5.8,2.7,5.1,1.9,Iris-virginica
144 | 6.8,3.2,5.9,2.3,Iris-virginica
145 | 6.7,3.3,5.7,2.5,Iris-virginica
146 | 6.7,3.0,5.2,2.3,Iris-virginica
147 | 6.3,2.5,5.0,1.9,Iris-virginica
148 | 6.5,3.0,5.2,2.0,Iris-virginica
149 | 6.2,3.4,5.4,2.3,Iris-virginica
150 | 5.9,3.0,5.1,1.8,Iris-virginica
151 |
152 |
--------------------------------------------------------------------------------
/modelo_de_relatorio.md:
--------------------------------------------------------------------------------
1 | # Título do Trabalho
2 |
3 | ## Introdução
4 |
5 | * Apresentar os membros da equipe.
6 | * Descrever o problema.
7 | * Descrever a base de dados.
8 |
9 | ## Metodologia
10 |
11 | * Explicar o modelo de _machine learning_ (ML) que você está trabalhando.
12 | * Explicar as etapas do treinamento e teste.
13 | * Caso tenha selecionado atributos, explicar a motivação para a seleção de tais atributos.
14 |
15 | ## Códigos
16 |
17 | * Mostrar trechos de códigos mais importantes e explicações.
18 |
19 | ## Experimentos
20 |
21 | * Descrever em detalhes os tipos de testes executados.
22 | * Descrever os parâmentros avaliados.
23 | * Explicar os resultados.
24 |
--------------------------------------------------------------------------------
/noticiais.md:
--------------------------------------------------------------------------------
1 | # Notícias
2 |
3 | ## Ano 2020
4 | 1. [IA oferece à TI uma vantagem na melhoria da experiência do cliente](https://cio.com.br/ia-oferece-a-ti-uma-vantagem-na-melhoria-da-experiencia-do-cliente)
5 | 1. [Startup de inteligência artificial recebe aporte de R$ 40 mi e mira Brasil](https://exame.com/tecnologia/startup-de-inteligencia-artificial-recebe-aporte-de-r-40-mi-e-mira-brasil/)
6 | 1. [Inteligência Artificial e RPA: por que é fundamental que essas tecnologias caminhem juntas? - 29/09/2020](https://cio.com.br/tendencias/inteligencia-artificial-e-rpa-por-que-e-fundamental-que-essas-tecnologias-caminhem-juntas)
7 |
--------------------------------------------------------------------------------
/outras_referencias.md:
--------------------------------------------------------------------------------
1 |
2 | # Outras Referências
3 |
4 | ## Blogs, Tutoriais e outros
5 | * [Capítulo de Livro: In-Depth: Support Vector Machines](https://jakevdp.github.io/PythonDataScienceHandbook/05.07-support-vector-machines.html)
6 | * [Capítulo de Livro: In Depth: Principal Component Analysis](https://jakevdp.github.io/PythonDataScienceHandbook/05.09-principal-component-analysis.html)
7 | * [Capítulo de Livro: Application: A Face Detection Pipeline](https://jakevdp.github.io/PythonDataScienceHandbook/05.14-image-features.html)
8 | * [Faces recognition example using eigenfaces and SVMs](https://scikit-learn.org/stable/auto_examples/applications/plot_face_recognition.html)
9 | * [Excelentes tutoriais sobre aprendizado de máquina - Matheus Facure](https://matheusfacure.github.io/tutoriais/)
10 | * [Vídeo - Machine Learning: Tutorial prático usando apenas o navegador](https://www.youtube.com/watch?v=JyGGMyR3x5I&feature=youtu.be)
11 | * [OpenCV Face Recognition - PyImageSearch](https://www.pyimagesearch.com/2018/09/24/opencv-face-recognition/)
12 | * [Acompanhe a expansão do COVID-19 com KNIME](https://hupdata.com/acompanhando-o-covid-19-com-knime/)
13 | * [A Tutorial on Support Vector Machines for Pattern Recognition](https://www.di.ens.fr/~mallat/papiers/svmtutorial.pdf)
14 | * [Colah's blog](http://colah.github.io/)
15 | * [Tutorias de python e machine learning - CS-UFRN](https://github.com/cs-ufrn)
16 | * [Introdução a CNN](https://mlnotebook.github.io/post/CNN1)
17 | * [Super Data Science - Convolutional Neural Networks](https://www.superdatascience.com/blogs/the-ultimate-guide-to-convolutional-neural-networks-cnn)
18 | * [Algoritmos genéticos Geeks for Geeks](https://www.geeksforgeeks.org/genetic-algorithms/)
19 |
20 | ## Começando com Python
21 | * [Material produzido pelo grupo de estudos em Ciência de Dados - NatalNet](https://github.com/Natalnet/GCiD/tree/master/Codes/Basic%20Module)
22 |
23 | ## Ferramentas
24 | * Trabalho Final de Gúbio sobre KNIME,
25 | * [Relatório](https://drive.google.com/file/d/1DE32zJVXBwafsiLwRLNCvs8NJZtWO_iK/view?usp=sharing)
26 | * [Exemploes](https://drive.google.com/file/d/1ofXNSfb7i_6-8NNPHY4_Hcrk_wi8nAOC/view?usp=sharing)
27 | * [Interagindo e visualizando uma linha de regressão linear](https://s3.amazonaws.com/codecademy-content/programs/data-science-path/line-fitter/line-fitter.html)
28 | * [Scikit-learn](http://scikit-learn.org)
29 | * [Knime - Desenvolvimento de soluções com blocos](https://www.knime.com/software-overview)
30 | * [Orange - Programação visual](https://orange.biolab.si/)
31 |
32 | ## Códigos
33 | * [MLP para fins didáticos em C++](https://github.com/orivaldosantana/mlp)
34 | * [Github sobre K Means Clustering de Siraj Raval](https://github.com/llSourcell/k_means_clustering/blob/master/kmeans.py.ipynb)
35 |
36 | ## Outros
37 | * [Brilliant](https://brilliant.org/courses/machine-learning/?tour=true)
38 | * [Super Data Science](https://www.superdatascience.com/machine-learning/)
39 |
40 | ## Links de Dados
41 | * [Dados abertos UFRN](http://dados.ufrn.br/organization/ufrn)
42 | * [Kaggle data sets](https://www.kaggle.com/datasets)
43 | * [IMDB PT-BR](https://www.kaggle.com/luisfredgs/imdb-ptbr?select=imdb-reviews-pt-br.csv)
44 |
45 | ## Demonstrações
46 | * [ConvNetJS MNIST demo](https://cs.stanford.edu/people/karpathy/convnetjs/demo/mnist.html)
47 |
--------------------------------------------------------------------------------
/relatorio_ml.md:
--------------------------------------------------------------------------------
1 | # Título do Trabalho
2 |
3 | ## Introdução
4 |
5 | ### Identificação
6 | * Apresentar os membros da equipe (nome e mátricula).
7 | * Colocar o link para o vídeo da apresentação do trabalho (para quem não for apresentar presencialmente).
8 |
9 | ### Informações Gerais
10 | * Descrever o problema.
11 | * Descrever brevemente os algoritmos usados.
12 | * Descrever os objetivos.
13 | * Descrever a base de dados.
14 |
15 | ## Metodologia
16 | * Explicar em detalhes quais técnicas de _machine learning_ (ML) foram aplicadas neste trabalhando.
17 | * Explicar as etapas do treinamento e teste.
18 | * Caso tenha selecionado atributos, explicar a motivação para a seleção de tais atributos.
19 |
20 | ## Códigos
21 | * Mostrar trechos de códigos mais importantes e explicações.
22 | * Informar o link para acessar o código.
23 |
24 | ## Experimentos
25 | * Descrever em detalhes os tipos de testes executados.
26 | * Descrever os parâmentros avaliados.
27 | * Explicar os resultados.
28 |
29 | ## Conclusão
30 | * O trabalho atendeu aos objetivos?
31 |
--------------------------------------------------------------------------------
/relatorio_ml_vc.md:
--------------------------------------------------------------------------------
1 | # Título do Trabalho
2 |
3 | ## Introdução
4 |
5 | ### Identificação
6 | * Apresentar os membros da equipe (nome e mátricula)
7 | * Colocar o link para o vídeo da apresentação do trabalho
8 |
9 | ### Informações Gerais
10 | * Descrever o problema
11 | * Descrever a base de dados
12 |
13 | ## Metodologia
14 | * Explicar quais técnicas de visão computacional foram usadas e como (Se for o caso).
15 | * Explicar o modelo de _machine learning_ (ML) que você está trabalhando.
16 | * Explicar as etapas do treinamento e teste.
17 | * Caso tenha selecionado atributos, explicar a motivação para a seleção de tais atributos.
18 |
19 | ## Códigos
20 | * Mostrar trechos de códigos mais importantes e explicações.
21 | * Informar o link para acessar o código
22 |
23 | ## Experimentos
24 | * Descrever em detalhes os tipos de testes executados.
25 | * Descrever os parâmentros avaliados.
26 | * Explicar os resultados.
27 |
--------------------------------------------------------------------------------
/roteiro_trabalho_final.md:
--------------------------------------------------------------------------------
1 | # Título do Trabalho
2 |
3 | ## Introdução
4 | * Explicar o problema
5 | * Explicar os objetivos
6 | * Descrever a base de dados.
7 |
8 | ## Metodologia
9 | * Explicar brevemente a técnica de _machine learning_ escolhida
10 | * Explicar as etapas de treinamento e teste
11 |
12 | ## Códigos
13 | * Mostrar e explicar os trechos de códigos mais importantes
14 | * Informar o link para acessar o código.
15 |
16 | ## Experimentos
17 | * Descrever em detalhes os tipos de testes executados
18 | * Descrever os parâmetros avaliados
19 | * Explicar os resultados
20 |
21 | ## Conclusão
22 | * O trabalho atingiu os objetivos?
23 | * O que precisa ser melhorado?
24 |
--------------------------------------------------------------------------------