Fundamentos de Big Data com PySpark
Upendra Devisetty
Science Analyst, CyVerse
Aprendizado de máquina é uma disciplina que estuda a construção e
análise de algoritmos que aprendem com dados
MLlib é um componente do Apache Spark para aprendizado de máquina
As ferramentas do MLlib incluem:
Algoritmos de ML: filtragem colaborativa, classificação e clusterização
Featurização: extração, transformação, redução e seleção de features
Pipelines: ferramentas para criar, avaliar e ajustar Pipelines de ML
Scikit-learn é uma biblioteca Python popular para mineração de dados e ML
Os algoritmos do scikit-learn funcionam só para datasets pequenos em uma única máquina
Os algoritmos do MLlib do Spark são feitos para processamento paralelo em cluster
Suporta linguagens como Scala, Java e R
Fornece uma API de alto nível para construir pipelines de ML
Classificação (binária e multiclasse) e regressão: SVM linear, regressão logística, árvores de decisão, florestas aleatórias, árvores com boosting, ingênuo de Bayes, mínimos quadrados lineares, Lasso, ridge, regressão isotônica
Filtragem colaborativa: Alternating Least Squares (ALS)
Clusterização: K-means, mistura gaussiana, K-means bissecionado e Streaming K-Means
Filtragem colaborativa (recomendação): gera recomendações
Classificação: identifica a qual categoria uma nova observação pertence
Clusterização: agrupa dados por características semelhantes
from pyspark.mllib.recommendation import ALS
from pyspark.mllib.classification import LogisticRegressionWithLBFGS
from pyspark.mllib.clustering import KMeans
Fundamentos de Big Data com PySpark