Você está na página 1de 46

Validação de Modelos em

Machine Learning

Carlos Antonio Fragoso – Fatec Indaiatuba


23 Outubro 2023
Caminho para encontrar o material
• aulas\carlos.fragoso\ML
• Apresentação ppt
• Orange Data Mining Final (PPT)
• Base de dados (treino e teste)
• fruits-and-vegetables-treino (CSV)
• fruits-and-vegetables-teste (CSV)
• Modelos Orange
• TESTE1 (OWS)
• TESTE2 (OWS)
• TESTE3 (OWS)
• Pasta contendo vários livros: Conteúdos ML
Leitura Recomendada
• Almeida, Carvalho & Menino
• Introdução ao Machine Learning
• https://dataat.github.io/introducao-ao-machine-learning/index.html
• Escovedo & Koshiyama (2020)
• Introdução a Data Science – Algoritmos de Machine Learning e Métodos de Análise
• Editora Casa do Código
• Hastie, Tibshirani & Friedman (2017)
• The elements os Statistical Learning: Data Mining, Inference and Prediction (12th printing)
• Springer Series in Statistics
• https://hastie.su.domains/ElemStatLearn/printings/ESLII_print12_toc.pdf
• James, Witten, Hastie & Tibshirani
• Introduction to Statistical Learning: with appications in R
• Kogod School of Business – American University – Washington, DC
• http://fs2.american.edu/alberto/www/analytics/ISLRLectures.html
Inteligência Artificial

Machine
Learning

Deep
Learning
Machine Learning

Treinamento
Supervisionado

Treinamento não
Supervisionado

Aprendizado por
Reforço
Machine Learning
A máquina é treinada por meio de
Treinamento dados de entrada e saída esperada.
Supervisionado Regressão (Linear Simples ou Múltipla;
Logística; SVM)
Classificação (Naive Bayes; Support
Treinamento não Vector Machine – SVM
Supervisionado Árvore de Decisão – apresentação visual
da informação
(K-Nearest Neighbours KNN; Decision
Aprendizado por
Tree)
Reforço
Machine Learning

Treinamento
Supervisionado

Treinamento não
Supervisionado

Aprendizado por
Reforço
Machine Learning
A máquina recebe os dados ficando por
Treinamento sua conta aprender padrões e
Supervisionado categorias dentro do conjunto de dados.
Agrupamento (Clustering): elementos
do cluster compartilham de um
Treinamento não conjunto de propriedades comuns. (K-
Supervisionado means; Mean-Shift, DBSCAN)

Aprendizado por
Reforço
Machine Learning
Associação: extrair um conjunto de
Treinamento regras a partir do conjunto de itens mais
Supervisionado frequentes na base de dados. Procurar
padrões na ordem da escolha (a priori;
Euclat; FP-growth)
Treinamento não
Supervisionado

Aprendizado por
Reforço
Machine Learning
Redução Dimensional (Generalização):
Treinamento Monta características específicas em
Supervisionado mais alto grau (Princial Componente
Analysis (PCA), Singular Value
Decomposition, Ltent Diridhlet
Treinamento não Allocation, Latent Semantic Analysis
Supervisionado

Aprendizado por
Reforço
Machine Learning

Treinamento
Supervisionado

Treinamento não
Supervisionado

Aprendizado por
Reforço
Machine Learning
A máquina aprende sozinha por meio
de um fator de recompensa para cada
Treinamento tarefa executada. O acerto e erro
Supervisionado retroalimentam para aprender (o acerto
é reforçado; o erro mudança de
estratégia)
Treinamento não Os dados de treino depende da ação
Supervisionado tomada
Uma ação leva a um estado e gera uma
recompensa (visão curto, médio e longo
Aprendizado por prazo) -> qual a melhor ação ? Ao longo
Reforço prazo o algoritmo aprende o que fazer.
(Q-Learning; SARSA, DQN, A3C, GA)
Projeto de Machine Learning
•Entender o problema/definir objetivos
•Coletar/analisar os dados
•Preparar dados
•Construir modelo
•Validar o modelo
Abra o ORANGE para explorar o

Orange Data Mining ambiente. Clique em NEW

• Importar os dados

• Visualizar (se necessário)

• Tratar (se necessário)

• Aplicar o modelo

• Avaliar o resultado
Orange Data Mining
• Importar os dados

• Visualizar (se necessário)

• Tratar (se necessário)

• Aplicar o modelo

• Avaliar o resultado
Orange Data Mining
• Importar os dados

• Visualizar (se necessário)

• Tratar (se necessário)

• Aplicar o modelo

• Avaliar o resultado
Orange Data Mining
• Importar os dados

• Visualizar (se necessário)

• Tratar (se necessário)

• Aplicar o modelo

• Avaliar o resultado
Orange Data Mining
• Importar os dados

• Visualizar (se necessário)

• Tratar (se necessário)

• Aplicar o modelo

• Avaliar o resultado
Orange Data Mining
• Importar os dados

• Visualizar (se necessário)

• Tratar (se necessário)

• Aplicar o modelo

• Avaliar o resultado
Prática 1 – Classificação (Treino)
• Base de dados contendo 150 observações: comprimento e largura das pétalas e sépalas e seu nome
• R. A. Fisher (1936). «The use of multiple measurements in taxonomic problems». Annals of Eugenics
. 7: 179–188. doi:10.1111/j.1469-1809.1936.tb02137.x
• Pode um conjunto de 4 observações numéricas levar a um target categórico ?
• Qual o melhor modelo para isso ?
• Quais as métricas usadas para esta avaliação ?
1º) Chamar dados
2º) Visualizar dados (não necessário)
3º) Escolher/Treinar
4º) Avaliação dos modelos usados

• Fonte das imagens: Wikipédia


1º TESTE1.OWS


Matriz de Confusão
• Exibe a distribuição das classes (dados conhecidos)
versus as classes previstas (o que o algoritmo encontrou)
Previsto
TRUE (+) FALSE (-)
Qtd de vezes que algo TRUE foi previsto Qtd de vezes que algo TRUE foi classificado
como TRUE(+) pelo modelo como FALSE(-) pelo modelo
TRUE TP FN
ERRO DO TIPO II
Dados Qtd de vezes que algo FALSE foi previsto Qtd de vezes que algo FALSE foi previsto
Conhecidos como TRUE(+) pelo modelo como FALSE(-) pelo modelo

FALSE
FP TN
ERRO DO TIPO I
Matriz de Confusão
• E para 3 ou mais classes ? Usando o case IRIS

Previsto pelo modelo


A B C
A VA FN FN
Respostas B FP VB FN
conhecidas C FP FP VC
Matriz de Confusão
Test & Score (Métricas usando a Matriz de
Confusão)

São criadas 10 separações, uma servirá para


teste e as outras 9 para treino. Processo irá
repetir de maneira que cada um dos estratos
sejam testados e os demais treinados

Aleatoriamente, os dados são separados em


treino e teste repetindo as vezes indicada
Test & Score (Métricas usando a Matriz de
Confusão)
Acurácia
(Classification Accuracy - CA)

Indica a performance geral do modelo


“De todas as classificações, quantas o
modelo classificou corretamente ?”
Cuidado !!!! Acurácia não é tudo em todos os
casos !!!!
• Por causa do Erro Tipo I
e Erro Tipo II
• Como confiar no modelo ?
• Precision (Erro Tipo I)
• Recall (Erro Tipo II)
Test & Score (Métricas usando a Matriz de
Confusão)
Precisão e Recall (Revocação)

Precisão: Quão efetivo eu sou todas as vezes


que eu tento versus quantas vezes eu consigo

Recall (Revocação): De tudo que era possível


acertar, o que realmente eu acertei ?
Test & Score (Métricas usando a Matriz de
Confusão)
• Precisão e Recall (Revocação)
• Um exemplo hipotético: Treinando arremesso de facas em maçãs
• Imagine um circo que deseja validar os seus profissionais. Para isso, ela
elaborou um treino de arremesso de facas em 180 maçãs ao longo do dia,
para cada profissional. Um determinado profissional realizou o treino nos
períodos Manhã, Tarde ou Noite. Os resultados encontrados foram:
QTD TENTATIVAS QTD ACERTOS QTD TOTAL MAÇÃS

MANHÃ 150 60 180

TARDE 200 70 (180-60) = 120

NOITE 190 50 (120-70) = 50


Test & Score (Métricas usando a Matriz de
Confusão)
• Precisão e Recall (Revocação)
• Precisão: (Quão efetivo o profissional foi, ou seja, todas as vezes que ele
tentou, quantas ele conseguiu acertar ?
• Manhã: 60/150 = 0,4 40%
• Tarde: 70/200 = 0,35 35%
• Noite: 50/190 = 0,2632 26,32%
QTD TENTATIVAS QTD ACERTOS QTD TOTAL MAÇÃS

MANHÃ 150 60 180

TARDE 200 70 (180-60) = 120

NOITE 190 50 (120-70) = 50


Test & Score (Métricas usando a Matriz de
Confusão)
• Precisão e Recall (Revocação)
• Recall: De toda a quantidade de maçãs (para cada período) que era possível o
profissional acertar, o que ele realmente acertou ?
• Manhã: 60/180 = 0,3333 33,33%
• Tarde: 70/120 = 0,5833 58,33%
• Noite: 50/50 = 1 100%
QTD TENTATIVAS QTD ACERTOS QTD TOTAL MAÇÃS

MANHÃ 150 60 180

TARDE 200 70 (180-60) = 120

NOITE 190 50 (120-70) = 50


Test & Score (Métricas usando a Matriz de
Confusão)
• Precisão e Recall (Revocação)
• Qual métrica usar ?
• Depende do objetivo do problema / posicionamento da empresa
• Quero ser preciso para identificar “algo” ou “de tudo que pode (possíveis de) ocorrer,
quero identificar a maioria”

QTD TENTATIVAS QTD ACERTOS QTD TOTAL MAÇÃS Precision Recall

MANHÃ 150 60 180 40% 33,33%

TARDE 200 70 (180-60) = 120 35% 58,33%

NOITE 190 50 (120-70) = 50 26,32% 100%


Test & Score (Métricas usando a Matriz de
Confusão)
Precisão e Recall

Precisão: Quão efetivo eu sou todas as vezes


que eu tento versus quantas vezes eu consigo

Recall (Revocação): De tudo que era possível


acertar, o que realmente eu acertei ?

F1: Média harmônica da Precisão e Recall


Test & Score (Métricas usando a Matriz de
Confusão)
AUC (Area Under CurveROC):
percentual representativo da
medição dos dados previstos que
estão na área avaliada sob o ponto
de vista especificidade (eixo X) e
sensibilidade (eixo Y) do algoritmo.

Quão maior o valor ... Melhor o


algoritmo
Prática 1 – Classificação (Treino)
• O algoritmo de Rede Neural é melhor ?
• Para isso, abra o arquivo TESTE1.OWS e inclua o algoritmo RN ligando-o ao
Test&Score. Veja os resultados. Avalie a matriz de confusão
• Compare com outros algoritmos
Prática 2 – Regressão (Treino)
TESTE2.OWS
• Base de dados disponível no desafio Bostons Housing no Kaggle (506 amostras)
https://www.kaggle.com/datasets/vikrishnan/boston-house-prices/
Isso é um erro ?
Clique duas vezes
em Test and Score
Não é
Mas o Orange informa que
a estratificação é ignorada
quando queremos usar
modelos de regressão.
Matriz de Distâncias (Calor)
Prática 2 – Regressão
• Test & Score
• MSE (Mean Squared Error): Erro Médio
Menor possível

Quadrático (se importa muito com erros


discrepantes por causa da potência 2)
• RMSE (Root Mean Squared Error): Raiz do
Erro Médio Quadrático
• MAE (Mean Absolute Error): Erro Médio
Absoluto (não se importa com erros
Maior possível
discrepantes)
• RMSE = MAE erros uniformes
• R2: Coeficiente de determinação

• https://medium.com/human-in-a-machine-w
orld/mae-and-rmse-which-metric-is-better-e6
0ac3bde13d
Prática 3 – Frutas & Vegetais (Treino e Teste)

TESTE2.OWS
• Objetivo da prática: Carregamento de duas bases de dados (treino e
teste); Avaliar o melhor algoritmo; Salvar os resultados do teste
• Arquivos fruits-and-vegetables-treino.csv e fruits-and-vegetables-
teste.csv
aulas\carlos.fragoso\ML
• Fonte: GITHUB Canal do Sandeco
• https://github.com/sandeco/ORANGE_CANVAS/tree/master/%2304%
20-%20Predi%C3%A7%C3%B5es
Para ligar o arquivo teste, você
deverá escolher o melhor
algoritmo. Veja que o input do
algoritmo deverá conter os
dados do aprendizado.

Devo colocar o local


(pasta), nome, e
extensão csv
Próximos Passos
• 1º) Participar da Maratona de Programação – Azul (Novembro 2023)
• Neste dia você deverá colocar em prática o que aprendeu hoje:
• Carregar a base de dados para treino
• Visualizar os dados
• Escolher o “grupo” de modelos em função das entradas e saídas do problema
• Testar e Avaliar o melhor algoritmo conforme as métricas
• Carregar a base de dados de teste para aplicar o algoritmo; salvar os resultados
• Nunca esqueça meu conselho de sala de aula:
• “Converse com os dados” “Não saia mandando o louco”
• “Contemple o rolê” “Respire fundo”
• 2º) Montar um Núcleo de Estudos
• Aprofundar os conhecimentos sobre o assunto
Aventure-se
• https://orangedatamining.com/

Você também pode gostar