Você está na página 1de 41

Big Data Real-Time Analytics com

Python e Spark

www.datascienceacademy.com.br
Seja bem-vindo!

www.datascienceacademy.com.br
Machine Learning

www.datascienceacademy.com.br
www.datascienceacademy.com.br
Machine Learning

www.datascienceacademy.com.br
www.datascienceacademy.com.br
Considerar uma carreira em Machine Learning e
aprender tudo que for possível sobre esse assunto é
uma das decisões mais inteligentes que você pode
tomar na sua carreira profissional

www.datascienceacademy.com.br
www.datascienceacademy.com.br
Empresas como Google, Facebook, Amazon, Apple, IBM e Microsoft, ou
seja, as gigantes de tecnologia do mundo, que investem bilhões de dólares
em pesquisa e desenvolvimento, estão dedicando seus esforços a oferecer
cada vez mais soluções baseadas em Machine Learning e por boas razões.
Embora estejamos atravessado o momento de evolução desta tecnologia, a
verdade é que ela veio para ficar. São tantas as novas possibilidades
trazidas pelo aprendizado de máquina, que em beve estaremos
dependentes do Machine Learning, da mesma forma como já somos
dependentes dos computadores e da internet.

www.datascienceacademy.com.br
Computação Cognitiva
Carros autônomos, Internet das coisas , aprendizado de
máquina. A tecnologia está cada vez mais avançada e o futuro -
não tão distante - prevê computadores que agem e reagem como
humanos. Essa é a proposta da chamada computação
cognitiva: máquinas inteligentes que aprendem
comportamentos, idiomas e regionalismos para conseguir
interagir de acordo com o que conseguem interpretar da fala de
seus interlocutores humanos. Essa arma é especialmente forte
em um mercado no qual cada vez mais consumidores esperam
ser melhor atendidos - e, de preferência, o quanto antes. A
computação cognitiva é baseada nos conceitos de Machine
Learning, os mesmos que estudaremos neste capítulo. Não
pense que estes são temas longe da realidade. Empresas como
Bradesco, Banco do Brasil e BRF já estão usando soluções de
computação cognitiva

www.datascienceacademy.com.br
O que vamos estudar neste capítulo?

• Processo de Machine Learning


• Biblioteca Scikit-learn
• Coleta, Análise Exploratória e Pré-Processamento
• Feature Selection
• Algoritmos de Machine Learning – Classificação
• Algoritmos de Machine Learning – Regressão
• Métodos Ensemble
• Algoritmo XGBoost

www.datascienceacademy.com.br
Obrigado

www.datascienceacademy.com.br
Machine Learning

www.datascienceacademy.com.br
Algoritmos de Machine Learning
Provavelmente estejamos vivendo o período mais marcante da história
humana. O período em que a computação mudou dos grandes mainframes
para a computação de PCs em nuvem. No entanto, o que definirá a
mudança não é o que aconteceu, mas o que ainda está por vir. O que torna
este período excitante é a democratização das ferramentas e técnicas que
acompanharam o aumento na computação. Hoje, como Cientista de
Dados, é possível construir sistemas que trituram dados com algoritmos
complexos, tudo com baixo custo e alta capacidade de processamento. E os
algoritmos de Machine Learning estão no centro das transformações que
estamos vivenciando.

www.datascienceacademy.com.br
www.datascienceacademy.com.br
+ +

www.datascienceacademy.com.br
Algoritmos de Machine Learning

www.datascienceacademy.com.br
Dados de
Treino
Aprendizagem
Supervisionada
Algoritmo de
Machine Learning

Modelo
Novos Dados Previsões
Preditivo

www.datascienceacademy.com.br
Aprendizagem Não
Supervisionada

www.datascienceacademy.com.br
Aprendizagem Por
Reforço
Ambiente

Recompensa Estado

Ação
Agente

www.datascienceacademy.com.br
Principais Algoritmos de Machine
Learning

www.datascienceacademy.com.br
Regressão Linear
É utilizada para estimar valores reais (custo de
residências, número de chamadas, vendas totais, etc)
baseado em variáveis contínuas. Aqui, estabelecemos
uma relação entre variáveis dependentes e
independentes ajustando a melhor linha de
relacionamento entre as variáveis. Esta linha é conhecida
como linha de regressão e representado por uma
equação linear. Regressões lineares são
fundamentalmente de dois tipos: Regressão Linear
Simples e Regressão Linear Múltipla. Regressão Linear
Simples é caracterizada por uma variável independente e
regressão linear múltipla (como o nome sugere) é
caracterizada por múltiplas variáveis independentes e
procurando a melhor linha de ajuste, você pode também
encontrar uma regressão polinomial ou curvilínea.

www.datascienceacademy.com.br
Regressão Logística
Não se confunda com o nome! Trata-se de uma
classificação não de um algoritmo de regressão. Ela
é usada pra estimar valores de variáveis discretas
(valores binários como 0/1, sim/não,
verdadeiro/falso) baseado em um grupo de
variáveis independentes. Em palavras simples, ela
prevê a probabilidade da ocorrência de um evento,
ajustando os dados a uma função logística. Como
prevê a probabilidade, seus valores de saída são
algo esperado entre 0 e 1.

www.datascienceacademy.com.br
Árvores de Decisão
É um tipo de algoritmo de aprendizado
supervisionado mais usado para problemas de
classificação. Surpreendentemente, ele funciona
tanto para variáveis dependentes categóricas
quanto contínuas. Nestes algoritmos nós
dividimos a população em dois ou mais grupos.
Isso é feito baseado nos atributos ou variáveis
independentes mais significantes. Para dividir a
população em grupos diferentes e heterogêneos,
são usadas várias técnicas como Gini, Ganho de
informação, Qui-Quadrado e entropia.

www.datascienceacademy.com.br
Support Vector Machines
(Máquinas de Vetor de Suporte)
Neste algoritmo, cada dado é plotado como um ponto em um espaço n-
dimensional (onde n é o número de características que se tem) com o
valor de cada característica sendo o valor de uma coordenada particular.
Por exemplo, se existem somente duas características como peso e
comprimento do cabelo de um indivíduo, nós primeiro plotamos estas
duas características no espaço onde cada ponto tem duas coordenadas
(estas coordenadas são chamadas Vetores de Suporte). Na sequência,
nos encontramos uma linha que divida os dados em dois grupos
diferentes de dados classificados. A linha ficará no ponto mais próximo em
que as distâncias de cada ponto nos dois grupos ficará a maior possível.
No exemplo acima, a linha que divide os dados em dois grupos
classificados é a linha preta, pois os dois pontos mais próximos dela são
os mais distantes, fora da linha. Este é nosso classificador. Então,
dependendo de que lado da linha os dados de testes são colocados, esta
será a classe em que poderão ser classificados os novos dados.

www.datascienceacademy.com.br
Naive Bayes
É uma técnica de classificação baseada no teorema de Bayes que
assume a independência entre preditores. Em termos simples, um
classificador em Naive Bayes assume que a presença de uma
característica particular em uma classe não é relacionada com a
presença de nenhuma outra característica. Por exemplo, uma fruta pode
ser considerada uma maça se ela for vermelha, redonda e tenha 3
polegadas de diâmetro. Mesmo que essas características dependam
umas das outras ou da existência de outras características, um
classificador Naive Bayes iria considerar que todas essas características
contribuem de forma independente para a probabilidade de que esta
fruta seja uma maçã. O modelo Naive Bayesiano é fácil de construir e
particularmente útil para grandes conjuntos de dados. Além da
simplicidade, Naive Bayes é conhecido por superar métodos de
classificação mesmo altamente sofisticados. Naive Bayes é usado para
prever a probabilidade de classe diferente com base em vários atributos.
Este algoritmo é usado principalmente em classificação de texto e com
os problemas que têm múltiplas classes.

www.datascienceacademy.com.br
K-Nearest Neighbors (KNN)
Pode ser usado para ambos os problemas de classificação e
regressão. No entanto, é mais amplamente utilizado em
problemas de classificação. KNN é um algoritmo simples que
armazena todos os casos disponíveis e classifica novos casos
por maioria de votos de seus vizinhos k. O caso que está sendo
atribuído à classe é definido por uma função de distância. Estas
funções de distância podem ser: Euclidiana, Manhattan e
distância de Hamming. Se K = 1, então o caso é simplesmente
atribuído à classe de seu vizinho mais próximo. Às vezes,
escolher o K acaba por se tornar um desafio durante a execução
de modelagem KNN. KNN pode ser facilmente mapeada para
nossas vidas reais. Se você quiser saber mais sobre uma pessoa
de quem você não tem nenhuma informação, você pode saber
mais sobre seus amigos próximos (ou vizinhos) e assim adquirir
mais informações sobre aquela pessoa.

www.datascienceacademy.com.br
K-Means
É um tipo de algoritmo não supervisionado que
resolve problemas de agrupamento. O seu
procedimento segue uma maneira simples e fácil
para classificar um dado conjunto através de um
certo número de grupos de dados (assumir k
clusters). Os pontos de dados dentro de um cluster
são homogêneos e heterogêneos para grupos de
pares. Em K-means, temos grupos e cada grupo
tem seu próprio baricentro.

www.datascienceacademy.com.br
Random Forest
(Floresta Aleatória)
Floresta aleatória é um termo que define um
conjunto de árvores de decisão (assim conhecido
como “Floresta”). Para classificar um novo objeto
com base em atributos, cada árvore dá uma
classificação e dizemos a árvore “vote” para essa
classe. A floresta escolhe a classificação que tenha
a maioria dos votos e assim determina o valor a ser
previsto.

www.datascienceacademy.com.br
Algoritmo para Redução de
Dimensionalidade

www.datascienceacademy.com.br
Gradient Boosting & AdaBoost
Gradient Boosting & AdaBoost estão impulsionando
algoritmos usados quando lidamos com uma grande
quantidade de dados para fazer uma previsão que requer
alta precisão. O algoritmo de aprendizagem combina a
previsão de vários estimadores base para melhorar a
robustez em relação a um único estimador. Ele combina
vários preditores fracos ou médios a um preditor forte.
Esses algoritmos estão endo muito usado em
competições de ciência de dados, como Kaggle, por
exemplo.

www.datascienceacademy.com.br
Obrigado

www.datascienceacademy.com.br
Construindo Modelos de
Machine Learning

www.datascienceacademy.com.br
• Transformação de Variáveis
• Feature Selection • Validação do Modelo
• Redução de Dimensionalidade • Otimização
• Amostragem

Dados de Treino Algoritmo de Modelo Final Novos Dados


Labels Aprenidzagem
Dados Dados de Teste
Brutos

Pré-Processamento Aprendizado Avaliação Previsão

• Seleção do Modelo
• Cross-Validation
• Métricas de Performance
• Otimização

www.datascienceacademy.com.br
Obrigado

www.datascienceacademy.com.br
• Linguagem R
• Shogun
• Apache Mahout
Soluções de Machine • MLlib
• H2O
Learning • Weka
• CUDA (GPU)
• Scikit-learn

www.datascienceacademy.com.br
Machine Learning em Python com
Scikit-learn

www.datascienceacademy.com.br
www.datascienceacademy.com.br
www.datascienceacademy.com.br
• Excelente documentação

• Fácil e intuitivo

• Diversos datasets

• Licença BSD (permite ser


usado para fins comerciais)

• Confiável

www.datascienceacademy.com.br
Obrigado

www.datascienceacademy.com.br