Machine Learning com Apache Spark
Sandys Nunes
Quem sou eu?
- Campo-grandense
- Estudante de Ciência da Computação
- Desenvolvedor na Tecsinapse
Twitter: @SandysNunes
Agenda
- Visão Geral sobre o Apache Spark
- Algumas ferramentas
- Geração de regras de associação
- Clustering com K-Means
- Classificação com Árvore de Decisão
O que é o Apache Spark?
Engine para processamento de dados em larga escala.
Fácil de usar
● Suporte a várias linguagens
● Shell interativo
● API ricaPython
Scala
Java
Lendo os dados
Exemplo - Frequência de palavras
RDD - Resilient Distributed Datasets
Uma abstração para que os programadores possam executar cálculos/operações em memória em um cluster tolerante à falhas.
Coleções imutáveis
Particionadas e Distribuídas
Armazenadas em memória
Partições são “recomputadas” em caso de falha
RDD - Operações
Spark Cluster
Spark standalone cluster
Vamos aos dados
1 - Apache Zeppelin
Exemplo - Vamos Explorar!
Spark+
Jupyter+
Python +
Pandas/Matplotlib
Spark+
Jupyter+
Python +
Seaborn
Regras de Associação
Analisando transações
Ex. suporte: {leite, pão, manteiga} = 20%
Ex. confiança: {leite, pão} => {manteiga} = 50%
K-Means
Clustering: K-Means
Calculando o erro até 10 centróides (Iris Data Set )
Gráfico “Cotovelo”
Árvore de Decisão
KDD Cup 1999 Data
Leitura dos dados
Treinamento e Validação
Para saber mais
Referências
RDD: https://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf
Spark: http://spark.apache.org/docs/latest/
Matplotlib: http://matplotlib.org/examples/index.html
Jupyter: http://jupyter.readthedocs.org/en/latest/index.html
KDD Cup 1999: http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html
Seaborn: http://stanford.edu/~mwaskom/software/seaborn/
Pandas: http://stanford.edu/~mwaskom/software/seaborn/
Obrigado!