Prévia do material em texto
Profa. Dra. Miryam de Moraes
UNIDADE II
Ciência de Dados
Mineração de dados: Naive Bayes.
Preparação de dados: caracterização de dados.
Pré-processamento de dados.
Considerações finais.
Ementa
Tarefas preditivas em AM, principalmente quando as informações disponíveis são
incompletas ou imprecisas, por meio do uso de algoritmos baseados no Teorema de Bayes,
os métodos probabilísticos bayesianos.
Tais métodos assumem que a probabilidade de um evento A, que pode ser uma classe (por
exemplo, um doente apresentar determinada doença), dado um evento B, que pode ser o
conjunto de valores dos atributos de entrada (por exemplo, ter um resultado positivo em um
exame), não depende, apenas, da relação entre A e B, mas, também, da probabilidade de
observar A, independentemente de observar B.
A probabilidade de ocorrência do evento B pode ser estimada pela observação da frequência
com que esse evento ocorre. Trata-se da probabilidade a priori.
O que se deseja em aprendizado de máquina é a
probabilidade a posteriori.
Aprendizado bayesiano
Os possíveis valores do exame ou experimento, valores do conjunto de atributos de entrada,
definem o espaço de resultados ou espaço amostral (Ω). A probabilidade P de um evento E
(por exemplo, os pacientes cujo resultado em um exame foi positivo) é designada por P (E),
que satisfaz os axiomas de Kolmogorov (PESTANA; VELOSA, 2002):
P (E) ≥ 0;
Se Ω é o espaço de eventos, então P (Ω) = 1;
Se A e B são eventos disjuntos; então, P (A ∪ B) = P (A) + P (B);
Lei da Probabilidade Total: evento A pode ter n possíveis resultados mutuamente exclusivos
A1, A2, Na, que formam uma partição em Ω.
Aprendizado bayesiano
Lei da Probabilidade Total
A probabilidade da ocorrência de um evento depende da ocorrência de outro evento.
P(A|B) = P(A B) / P(B).
Fácil de estimar, pela frequência, as probabilidades a priori.
P(B): probabilidade do exame ser positivo.
P(A): probabilidade do resultado do paciente estar doente.
P(B|A): probabilidade do resultado do exame ser positivo dado que o paciente
esteja doente.
Probabilidade a priori, difícil: P(A|B): probabilidade do paciente estar doente dado que o
seu exame deu positivo.
Aprendizado bayesiano – probabilidade condicional (CARVALHO, 2021)
O Teorema de Bayes permite calcular a probabilidade a posteriori de um evento.
P(A B) = P(A|B) . P(B) = P (B|A) . P(A).
P(A|B) = P(B|A) . P(A)/P(B).
A posteriori = (verossimilhança x a priori)/evidência.
P(B): Lei da Probabilidade Total.
Aprendizado bayesiano - Teorema de Bayes
Considere-se, como exemplo, um problema médico:
P(Doença = Presente) = 0.08 e P(Doença = ausente) = 0.92;
P(Teste = positivo | Doença = Presente) = 0.75;
P(Teste = negativo | Doença = Ausente) = 0.96;
P(Teste) = P(Teste | Doença) . P(Doença) + P(Teste | Doença) . P( Doença);
P(Teste) = 0.75 x 0.08 + 0.25 x 0.92 = 0.29.
Aprendizado bayesiano
Fonte: Adaptado de: Carvalho (2021).
Doença
Presente: 8%
Ausente: 92%
Teste
Doença Positivo Negativo
Presente 75% 25%
Ausente 4% 96%
Estimativa MAP:
Tem-se que arg maxi retorna à classe yi com maior probabilidade de estar associada a x,
que é aquela que possui o valor máximo para P (yi | x).
Qualquer função que calcula as probabilidades condicionadas P (yi | x) é referida como uma
função discriminante, por separar os exemplos de classes diferentes. Dado um exemplo x, o
Teorema de Bayes provê um método para calcular P (yi | x):
Aprendizado bayesiano
O denominador P (x) pode ser ignorado, uma vez que é o mesmo para todas as classes,
não afetando os valores relativos de suas probabilidades.
Assumindo que as probabilidades a priori das hipóteses yi são iguais, a equação anterior
pode ser simplificada considerando, apenas, o termo P (x | yi) para calcular a hipótese
mais provável.
P (Dados|hipótese) é designado por verossimilhança, e a hipótese que maximiza P
(Dados|hipótese) é designada por máxima verossimilhança, que pode ser expressa por:
Difícil de calcular, pois exige um número de exemplos
muito grande.
Aprendizado bayesiano
Classificador bayesiano mais simples para calcular/estimar P(X | Yi ).
Assumindo que os valores dos atributos de um exemplo são independentes entre si, dada a
classe, P (x | yi) pode ser decomposto no produto P(x1 | yi)×...× P(xd | yi), em que xj é o j-ésimo
atributo do exemplo x. Com isso, a probabilidade de um exemplo pertencer à classe yi é
proporcional à expressão:
O termo naive (“ingênuo”) vem da hipótese de que os valores
dos atributos de um exemplo são independentes de
sua classe.
A fórmula do Naive Bayes pode ser expressa em uma
forma aditiva:
Naive Bayes
Para o caso particular de duas classes, tem-se:
Exemplo: o problema do equilíbrio da balança.
Carvalho (2021) cita: este exemplo utiliza um conjunto de dados para o problema da balança.
Esse conjunto de dados foi gerado para modelar os resultados de experimentos psicológicos.
Nesse problema, cada exemplo é classificado em uma de três
posições de uma balança: se está inclinada para a direita, para
a esquerda ou sem a inclinação para um dos lados
(equilibrada ou balanceada).
Naive Bayes – Exemplo
Os atributos são o peso do lado esquerdo, a dimensão do braço esquerdo, o peso do lado
direito e a dimensão do braço direito. A forma correta para encontrar a classe é o maior valor
entre: DistânciaEsq × PesoEsq e DistânciaDir × PesoDir. Se esses valores são iguais,
o estado da balança, a sua classe, é balanceada.
Y: classe.
X1: distância esq.
X2: peso.
Exemplo
Fonte: Adaptado de: Carvalho (2021).
DistânciaEsq
DistânciaDir
PesoEsq
PesoDir
Na versão do repositório UCI (DUA; GRAFF, 2017 apud CARVALHO, 2021) para esse
conjunto de dados, o domínio de todos os atributos é o conjunto {1, 2, 3, 4, 5}.
O conjunto de dados contém 625 exemplos, distribuídos da seguinte forma: em 49 exemplos
a balança está balanceada, em 288 exemplos, a balança está inclinada para a esquerda e
nos 288 exemplos restantes, a balança está inclinada para a direita.
Para calcular as probabilidades a priori, P (Classe), é necessário contar o número de exemplos
para cada classe, conforme a tabela a seguir:
Exemplo
Fonte: Adaptado de: Carvalho (2021).
Tabela 5.1 – Contagem de valores
e probabilidade a priori para as classes
Balanceada Esquerda Direita
Contagem 49 288 288
P (Classe) 0,078 0,461 0,461
Distribuição dos valores dos atributos.
Exemplo
Fonte: Adaptado de: Carvalho (2021).
Tabela 5.2 – Distribuição dos valores dos atributos por classe
Distribuição normal Discretização
PesoEsq Média Desvio-padrão V1 V2 V3 V4 V5
Balanceada 2,938 1,42 10 11 9 10 9
Esquerda 3,611 1,23 17 43 63 77 88
Direita 2,399 1,33 98 71 53 38 28
DistânciaEsq Média Desvio-padrão V1 V2 V3 V4 V5
Balanceada 2,938 1,42 10 11 9 10 9
Esquerda 3,611 1,22 17 43 63 77 88
Direita 2,399 1,33 98 71 53 38 28
Distribuição dos valores dos atributos.
Exemplo
Fonte: Adaptado de: Carvalho (2021).
PesoDir Média Desvio-padrão V1 V2 V3 V4 V5
Balanceada 2,938 1,42 10 11 9 10 9
Esquerda 2,399 1,33 98 71 53 38 28
Direita 3,611 1,22 17 43 63 77 88
DistânciaDir Média Desvio-padrão V1 V2 V3 V4 V5
Balanceada 2,938 1,42 10 11 9 10 9
Esquerda 2,399 1,33 98 71 53 38 28
Direita 3,611 1,22 17 43 63 77 88
A análise das características presentes em um conjunto de dados permite a descoberta de
padrões e tendências que podem fornecer as informações valiosas para compreender o
processo que gerou os dados.
Formalmente, um conjunto de dados pode ser representado por uma matriz de objetos X
de dimensão n × d, em que n é o número de objetos e d é o número de atributos de entrada
de cada objeto.
O valor de d define a dimensionalidade dos objetos ou do espaço de objetos (também
chamado de espaço de entradas ou espaço deatributos).
Cada elemento dessa matriz, xji ou xij, contém o valor
da j-ésima característica para o i-i-ésimo objeto. Os d atributos
também podem ser vistos como um conjunto de eixos
ortogonais e os objetos como pontos no espaço de objetos de
dimensão d.
Preparação dos dados – análise de dados (CARVALHO, 2021)
No conjunto do hospital, cada objeto corresponde a um paciente, sendo, por isso, formado
pelos valores de atributos de entrada referentes ao paciente.
Esses atributos são: identificação, nome, idade, sexo, sintomas e resultados
de exames clínicos.
Exemplos de sintomas são a presença e a distribuição de manchas na pele, o peso do
paciente e a temperatura corporal.
Além desses atributos, a tabela apresenta um atributo alvo, também denominado de atributo
meta ou de saída, que representa o que queremos prever.
Para as tarefas descritivas, o conjunto de dados não precisa
ter atributo alvo. Já para as tarefas preditivas, o atributo alvo
precisa estar presente.
Na maioria dos casos, os dados apresentam, apenas, um
atributo alvo.
Preparação dos dados – análise de dados (CARVALHO, 2021)
Quando os valores do atributo alvo identificam as categorias ou as classes às quais os
objetos pertencem, ele é denominado de classe e assume os valores discretos 1, ..., k.
Tem-se, nesse caso, uma tarefa de classificação.
Quando a tarefa de classificação tem apenas 2 classes, ela é uma tarefa de
classificação binária.
Se as classes tiverem diferentes números de objetos, a classe com o maior número é
denominada de classe majoritária e a com menos, minoritária.
Se, por outro lado, o atributo alvo contém os valores numéricos contínuos, tem-se um
problema de regressão (MITCHELL, 1997).
Tanto em problemas de classificação quanto em de regressão,
os demais atributos são denominados de atributos preditivos,
pois podem ser utilizados para prever o valor do atributo alvo.
Preparação dos dados – análise de dados (CARVALHO, 2021)
Exemplo de conjunto de dados.
Preparação dos dados – análise de dados (CARVALHO, 2021)
Fonte: Adaptado de: Carvalho (2021).
Tabela 2.1 – Conjunto de dados do hospital com os seus atributos
Id. Nome Idade Sexo Peso Manchas Temp. #Int. Est. Diagnóstico
4201 João 28 M 79 Concentradas 38,0 2 SP Doente
3217 Maria 18 F 67 Inexistentes 39,5 4 MG Doente
4039 Luiz 49 M 92 Espalhadas 38,0 2 RS Saudável
1920 José 18 M 43 Inexistentes 38,5 8 MG Doente
4340 Cláudia 21 F 52 Uniformes 37,6 1 PE Saudável
2301 Ana 22 F 72 Inexistentes 38,0 3 RJ Doente
1322 Marta 19 F 87 Espalhadas 39,0 6 AM Doente
3027 Paulo 34 M 67 Uniformes 38,4 2 GO Saudável
Considere as seguintes asserções:
I. Muitos problemas de classificação são não determinísticos; assim, a relação de entrada e
saída é probabilística.
II. Informações capturadas pelos atributos preditivos usados são incompletas ou imprecisas.
III. Algumas informações importantes não são capturadas pelos atributos preditivos usados.
Está correto o que se afirma em:
a) I, apenas.
b) I e II, apenas.
c) I e III, apenas.
d) II e III, apenas.
e) I, II e III.
Interatividade
Considere as seguintes asserções:
I. Muitos problemas de classificação são não determinísticos; assim, a relação de entrada e
saída é probabilística.
II. Informações capturadas pelos atributos preditivos usados são incompletas ou imprecisas.
III. Algumas informações importantes não são capturadas pelos atributos preditivos usados.
Está correto o que se afirma em:
a) I, apenas.
b) I e II, apenas.
c) I e III, apenas.
d) II e III, apenas.
e) I, II e III.
Resposta
Os tipos de dados podem ser qualitativos ou quantitativos.
Tipos de dados
Fonte: Adaptado de: Carvalho (2021).
Tabela 2.2 – Tipo dos atributos do conjunto do hospital
Atributo Classificação
Id. Qualitativo
Nome Qualitativo
Idade Quantitativo discreto
Sexo Qualitativo
Peso Quantitativo contínuo
Manchas Qualitativo
Temp. Quantitativo contínuo
#Int. Quantitativo discreto
Est. Qualitativo
Diagnóstico Qualitativo
A escala define as
operações que podem ser
realizadas sobre os valores
do atributo. Em relação à
escala, os atributos podem
ser classificados como
nominais, ordinais,
intervalares e racionais.
Preparação dos dados – análise de dados (CARVALHO, 2021)
Fonte: Adaptado de: Carvalho (2021).
Tabela 2.3 – Escala dos atributos do conjunto do hospital
Atributo Classificação
Id. Nominal
Nome Nominal
Idade Racional
Sexo Nominal
Peso Racional
Manchas Nominal
Temp. Intervalar
#Int. Racional
Est. Nominal
Diagnóstico Nominal
Conjuntos de dados podem apresentar diferentes características, dimensões ou formatos.
Podem, ainda, estar limpos, ou conter ruídos e imperfeições, com valores incorretos,
inconsistentes, duplicados ou ausentes; os atributos podem ser independentes
ou relacionados.
Os conjuntos de dados podem apresentar poucos ou muitos objetos que, por sua vez,
podem ter um número pequeno ou elevado de atributos.
Integração de dados: na integração, é necessário identificar quais são os objetos que estão
presentes nos diferentes conjuntos a serem combinados. Esse problema é conhecido como o
problema de identificação de entidade.
Uso de metadados: são dados sobre dados que, ao
descreverem as suas principais características, podem ser
utilizados para evitar erros no processo de integração.
Pré-processamento de dados (CARVALHO, 2021)
O conjunto de atributos que formarão o conjunto de dados a ser analisado é, geralmente,
definido de acordo com a experiência de especialistas no domínio dos dados.
Eliminação do manual de atributos
Fonte: Adaptado de: Carvalho (2021).
Tabela 3.1 – Conjunto de dados sem atributos considerados irrelevantes
Idade Sexo Peso Manchas Temp. #Int. Diagnóstico
28 M 79 Concentradas 38,0 2 Doente
18 F 67 Inexistentes 39,5 4 Doente
49 M 92 Espalhadas 38,0 2 Saudável
18 M 43 Inexistentes 38,5 8 Doente
21 F 52 Uniformes 37,6 1 Saudável
22 F 72 Inexistentes 38,0 3 Doente
19 F 87 Espalhadas 39,0 6 Doente
34 M 67 Uniformes 38,4 2 Saudável
Existem, basicamente, três abordagens para a amostragem:
Amostragem aleatória simples: possui duas variações: a amostragem simples sem a
reposição de exemplos, em que estes são extraídos do conjunto original para a amostra a
ser utilizada e cada exemplo pode ser selecionado apenas uma vez; e a amostragem simples
com reposição, quando uma cópia dos exemplos selecionados é mantida no conjunto
de dados original;
Amostragem estratificada: é usada quando as classes
apresentam as propriedades diferentes, como números de
objetos bastante diferentes. Essa abordagem possui
variações. Mantém o mesmo número de objetos para cada
classe proporcional ao número de objetos da classe no
conjunto original;
Amostragem de dados
Amostragem progressiva: começa com uma amostra pequena e aumenta-se
progressivamente o tamanho da amostra extraída, enquanto a acurácia preditiva
continuar a melhorar.
O especialista no domínio pode decidir, também, que um subconjunto dos objetos deve ser
utilizado para as suas análises.
A existência de classes com uma quantidade significativamente maior de exemplos que as
demais pode levar à indução de classificadores tendenciosos para as classes majoritárias.
Nesse caso, o conjunto de dados é dito desbalanceado.
Técnicas que procuram balancear artificialmente o conjunto
de dados desbalanceados: redefinir o tamanho do conjunto
de dados; utilizar diferentes custos de classificação para
as diferentes classes; induzir um modelo para
uma classe.
Amostragem de dados/dados desbalanceados
Dados incompletos: objetos com valores ausentes.
Dados inconsistentes: apresentam os valores conflitantes em seus atributos.
Dados redundantes: um objeto é redundante quando ele é muito semelhante a outro objeto
do mesmo conjunto de dados, ou seja, quando os seus atributos possuem valores muito
semelhantes aos atributos de pelomenos um outro objeto.
Dados com ruídos: são dados que contêm os objetos que, aparentemente, não pertencem
à distribuição que gerou os dados analisados. Ruído pode ser definido como uma variância
ou erro aleatório, no valor gerado ou medido para um atributo.
Limpeza dos dados
Técnicas de encestamento: primeiro, os valores encontrados para esse atributo em todos os
objetos são ordenados. Em seguida, esses valores são divididos em faixas ou cestas, cada
uma com o mesmo número de valores. Os que estiverem na mesma cesta são substituídos,
por exemplo, pela média ou mediana dos valores presentes na cesta.
Técnicas baseadas em agrupamento dos dados: essas técnicas podem ser utilizadas tanto
para os objetos como para os atributos. No caso dos atributos, seus valores são agrupados
por uma técnica de agrupamento (valores de atributos) que não formarem um grupo com
outros valores considerados ruídos ou outliers. O mesmo é dito de objetos que forem
colocados em um grupo no qual os demais objetos pertencem a uma outra classe.
Técnicas baseadas em distância: a presença de ruído em um
ou mais atributos de um objeto, frequentemente, faz com que
esse objeto se distancie dos demais objetos de sua classe. As
técnicas baseadas em distância verificam a que classe
pertencem os objetos mais próximos de cada objeto x.
Dados com ruídos – técnicas para a redução de ruídos
Técnicas baseadas em regressão ou classificação: as técnicas baseadas em regressão
utilizam uma função de regressão para, dado um valor com ruído, estimar o seu valor
verdadeiro. Se o valor a ser estimado for simbólico, uma técnica de classificação pode ser
utilizada. Também existem as abordagens que consideram que instâncias para as quais
um ou uma combinação de classificadores têm baixa confiança na previsão são
potenciais ruídos.
Dados com ruídos – técnicas para a redução de ruídos
Algumas vezes, o valor numérico de um atributo precisa ser transformado em outro valor
numérico. Isso, geralmente, ocorre quando os limites inferior e superior de valores dos
atributos são muito diferentes, o que leva à grande variação de valores, ou, ainda, quando
vários atributos estão em escalas diferentes.
A normalização de dados é recomendável quando os limites de valores de atributos distintos
são muito diferentes, para evitar que um atributo predomine sobre o outro (a menos que isso
seja importante). Quando recomendada, a normalização é aplicada a cada atributo
individualmente e pode ocorrer de duas formas: por amplitude e por distribuição.
A normalização por amplitude pode ser por reescala ou por
padronização. A primeira define uma nova escala de valores,
limites mínimo e máximo, para todos os atributos.
A segunda define um valor central e um valor de
espalhamento comuns para todos os atributos.
Normalização dos dados
Na normalização por reescala, também chamada de normalização min-máx, são, inicialmente,
definidos os valores mínimo (min) e máximo (máx) para os novos valores de cada atributo.
Depois, as operações a seguir são realizadas para cada atributo. Primeiro, o menor valor do
atributo (menor) é subtraído de cada valor. Cada valor resultante é, em seguida, dividido pela
diferença entre o maior e o menor valores originais do atributo (maior – menor). Cada novo
valor é, depois, multiplicado pela diferença entre os valores limites da nova escala máx – min.
No final, o valor min é somado a cada valor produzido. Essas operações são ilustradas
pela equação:
Para que os limites superior e inferior sejam 1 e 0,
respectivamente, basta fazer máx = 1 e min = 0.
Normalização dos dados
Para a normalização por padronização, a cada valor do atributo a ser normalizado é
adicionada ou subtraída uma medida de localização e o valor resultante é, em seguida,
multiplicado ou dividido por uma medida de escala.
Diferentes atributos podem ter limites inferiores e superiores distintos, mas terão os mesmos
valores para as medidas de escala e espalhamento. Se as medidas de localização e de
escala forem a média (μ) e a variância (σ), respectivamente, os valores de um atributo são
convertidos para um novo conjunto de valores, com a média 0 e a variância 1, que é obtido
se for utilizada a equação seguinte nos valores originais dos atributos.
Normalização dos dados
A normalização por distribuição muda a escala de valores de um atributo. Um exemplo dessa
normalização é a aplicação da função para ordenar os valores do atributo a ser normalizado
e a substituição de cada valor pela posição que ele ocupa no ranking (por exemplo, a
aplicação dessa normalização aos valores 1, 5, 9 e 3 gera, respectivamente, os valores 1, 3,
4 e 2). Se todos os valores originais forem distintos, o resultado é uma distribuição uniforme.
Normalização dos dados
Alguns atributos são, claramente, redundantes ou irrelevantes, podendo ser manualmente
eliminados. No entanto, na prática, vários atributos passíveis de eliminação não são facilmente
identificados, o que torna pouco eficiente o uso apenas de técnicas visuais. Dentre as razões
para essa dificuldade, podem ser citadas:
Número muito grande de exemplos;
Número muito grande de atributos;
Relações complexas entre os atributos, cuja descoberta é difícil.
Seleção de atributos
Filtro: um subconjunto de atributos originais é filtrado de acordo com algum critério, sem
levar em consideração o algoritmo de aprendizado que utilizara esse subconjunto.
Wrapper: utiliza algum algoritmo de aprendizado como uma caixa-preta para a seleção.
Geralmente, é utilizada junto com uma técnica de amostragem. Para cada possível
subconjunto de atributos, o algoritmo é consultado e o subconjunto que apresentar a melhor
combinação entre a redução da taxa de erro e a redução do número de atributos é, em
geral, selecionado.
Embutida: a seleção do subconjunto é embutida ou integrada no próprio algoritmo de
aprendizado. Exemplo: as árvores de decisão.
Seleção de atributos
Fonte: Adaptado de:
Carvalho (2021).
Seleção de
atributos Seleção de
atributos
Algoritmo de
aprendizado
Algoritmo de
aprendizado
Algoritmo de
aprendizado
Seleção de
atributos
Filtro Wrapper Embutida
Visão computacional.
Processamento de linguagem natural.
Reconhecimento de fala.
Aplicações avançadas
Modelos preditivos.
Planejamento de experimentos.
Análise de resultados experimentais.
Considerações finais
Considere as seguintes asserções:
I. Dados são bens preciosos e permitem conhecimentos relevantes.
II. Apesar de algoritmos de AM serem, frequentemente, adotados para extrair o conhecimento
de conjuntos de dados, o seu desempenho é, geralmente, afetado pelo estado dos dados.
Conjuntos de dados podem apresentar diferentes características, dimensões ou formatos.
III. A computação natural é uma área de pesquisa associada ao AM, à estatística e à
otimização. A computação natural se inspira em processos que ocorrem na natureza para
o desenvolvimento de novos algoritmos que possam ser utilizados em problemas reais.
Está correto o que se afirma em:
a) I, apenas.
b) I e II, apenas.
c) I e III, apenas.
d) II e III, apenas.
e) I, II e III.
Interatividade
Considere as seguintes asserções:
I. Dados são bens preciosos e permitem conhecimentos relevantes.
II. Apesar de algoritmos de AM serem, frequentemente, adotados para extrair o conhecimento
de conjuntos de dados, o seu desempenho é, geralmente, afetado pelo estado dos dados.
Conjuntos de dados podem apresentar diferentes características, dimensões ou formatos.
III. A computação natural é uma área de pesquisa associada ao AM, à estatística e à
otimização. A computação natural se inspira em processos que ocorrem na natureza para
o desenvolvimento de novos algoritmos que possam ser utilizados em problemas reais.
Está correto o que se afirma em:
a) I, apenas.
b) I e II, apenas.c) I e III, apenas.
d) II e III, apenas.
e) I, II e III.
Resposta
ALPAYDIN, E. Introduction to Machine Learning. MIT Press, 2004.
CARVALHO, A. C. P. L. F. de. et al. Inteligência Artificial: Uma Abordagem de Aprendizado
de Máquina. 2. ed. São Paulo: Grupo GEN, 2021.
FLACH, P. Machine Learning: The Art and Science of Algorithms that Make Sense of Data.
Cambridge University Press, 2012.
GRUS, J. Data Science do Zero: Primeiras Regras com o Python. 1. ed. Rio de Janeiro: Alta
Books, 2016.
MITCHELL, T. M. Machine Learning. New York: McGraw-Hill, 1997.
PESTANA, D. D.; VELOSA, S. F. Introdução à Probabilidade e
à Estatística. Lisboa: F.C.G., 2002.
PROVOST, F.; FAWCETT, T. Data Science for Business:
What You Need to Know About Data Mining and Data-analytic
Thinking. O’Reilly Media, 2013.
Referências
ATÉ A PRÓXIMA!