Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Big Data Mining with Mahout

1,303 views

Published on

http://summit.solidq.com

Published in: Technology
  • Be the first to comment

Big Data Mining with Mahout

  1. 1. Big Data Mining con Mahout @antoniosql @rpertusa #SQSummit Antonio Soto / Rubén Pertusa López COO / Data Platform Architect rpertusa@solidq.com MAP, MCSA, MCT, PASS Spain
  2. 2. Objetivos de la charla • Preparación de Datos usando la plataforma Microsoft • SQL Server  T-SQL, SSIS, Power Query • HDInsight  Pig, Hive • Mineria de datos usando la plataforma Microsoft • SQL Server  Analysis Services Data Mining / Excel • HDInsight  Mahout, Pegasus 2
  3. 3. Agenda • Minería de Datos • Minería de datos tradicional con SQL Server Analysis Services • Arquitecturas de Minería para Big Data • Algoritmos Mahout: Asociación • Algoritmos Mahout: Clustering • Ejecución distribuida con Mahout • Algoritmos Mahout: Clasificación 3
  4. 4. Definición “Mineria de datos es una colección de potentes técnicas de análisis con el objetivo de descubrir patrones y reglas sobre grandes volumenes de datos” 4
  5. 5. Los dos tipos de Minería Minería de datos dirigida (top-down) – Clasificación – Estimación – Pronósticos Minería de datos no dirigida (bottom-up) – Grupos de afinidad (recomendaciones) – Clustering – Descripción 5
  6. 6. Tabla de casos: Retención de clientes (Banco) ExternalCreditCard InvestmentProducts Months #TransactionsLastMonth LeftTheBank No Yes 120 15 No Yes No 36 2 Yes Yes Yes 40 25 No Yes Yes 100 25 Yes No No 24 0 No Yes No 86 3 Yes Yes No 12 25 Yes No Yes 30 2 No 6
  7. 7. Árbol de decisión: Retención de clientes (Banco) 7 External Credit Card Investment Investment Student Student Student Student ……
  8. 8. Preparación de Datos Valores Perdidos y Picos Variables derivadas Series de Tiempo Muestreo y Pruebas de Muestreo 8
  9. 9. Estandarización Puntos de Tiempo • Examinar los últimos meses antes de abandono • Abandono de diferentes clientes ocurren en diferentes 9 momentos Jan Feb Mar Apr May Jun Jul Aug month of churn 7 6 5 4 3 2 1 0 months before churn
  10. 10. Minería de datos con SQL Server 10 Data Preparation Model Processing SSIS, T-SQL #1 #2 #3 #4 *** SS Analysis Services Data Mining
  11. 11. DEMO 11 Mineria de datos “tradicional”
  12. 12. Agenda • Minería de datos tradicional con SQL Server Analysis Services • Arquitecturas de Minería para Big Data • Algoritmos Mahout: Asociación • Algoritmos Mahout: Clustering • Ejecución distribuida con Mahout • Algoritmos Mahout: Clasificación 12
  13. 13. Descubrir patrones 13 20% 80% Structured Less Structured 12 Tb dia 21 Pb Hadoop cluster 1 Tb Tweets dia 75 Mi Scores dia 7 Tb Datos día 4 B Graph edg/día Millones de comentarios
  14. 14. ROI…. Google AdWords: Predicción de click through rates (CTR) Netflix: 75% del streaming de video viene de recomendaciones Amazon: 35% de las ventas de producto vienen de recomendaciones de producto 14
  15. 15. Tabla de casos: Retención de clientes (Banco) 15 ExternalCreditCard CustomerService Tone/Sentiment Investment Products Months #Transactions LastMonth LeftTheBank No Positive Yes 120 15 No Yes Negative No 36 2 Yes Yes Positive Yes 40 25 No Yes Positive Yes 100 25 Yes No Positive No 24 0 No Yes Negative No 86 3 Yes Yes Positive No 12 25 Yes No Negative Yes 30 2 No
  16. 16. Minería de datos con Hadoop + SQL Server 16 Data Preparation Model Processing Hive, Pig, MapReduce, SSIS, T-SQL #1 #2 #3 #4 *** SS Analysis Services Data Mining
  17. 17. Problemas Hadoop-ables • Sistemas de recomendacion • Marketing Target • Prediccion de fallo de red • Modelos de riesgo/fraude • Predicción de amenazas • Análisis de abandono de clientes 17 4 V’s + Machine Learning
  18. 18. Mahout Pegasus Lucene … Pig Hive Map Reduce HDFS Hive ODBC Sqoop JDBC Windows Azure & Windows Server Microsoft BI Platform Repaso Hadoop
  19. 19. Hadoop Distributed File System (HDFS) NameNode DataNode File File File File File File File File File File File File File File File File File File File File File File File File File File File File File File File File File File File File DataNode DataNode Block Size = 64 Mb Replication Factor = 3
  20. 20. Map Reduce JobTracker TaskTracker File File File File File File Reduce File File map map File File File File File File File File File File File File File File File File File File File MapReduce Job File File File File File map TaskTracker TaskTracker
  21. 21. Minería de datos con Hadoop, Mahout 21 Data Preparation Model Processing Hive, Pig, MapReduce Mahout #1 #2 #3 #4 ***
  22. 22. Mahout • Proyecto TOP Apache Lucene • Librería Machine Learning escalable • La mayoría escalan con Hadoop • Basado en Map Reduce • Tambien en SPARK Mahout Map Reduce HDFS 22
  23. 23. Algoritmos Mahout Collaborative Filtering (Asociación) • Por Usuarios • Por Item Clasificación • Regresión logistica • Naïve Bayes • Random Forest Clustering • k-means • Spectral Clustering 23
  24. 24. Hadoop en Azure: HDInsight Si necesitamos un cluster mayor  Soporte Azure 24
  25. 25. Agenda • Minería de datos tradicional con SQL Server Analysis Services • Arquitecturas de Minería para Big Data • Algoritmos Mahout: Asociación • Algoritmos Mahout: Clustering • Ejecución distribuida con Mahout • Algoritmos Mahout: Clasificación 25
  26. 26. Problemas Hadoop-ables: Asociación • Basada en Usuario •Basada en Items • Algoritmos: •Log-likehood •TaniMoto • Euclidean Distance •Pearson Correlation •Relative Rank •Spearman correlation 26
  27. 27. DEMO 27 Asociación
  28. 28. Recomendar Películas • Preparar los datos con Mahout • Ejecutar procesado Mahout en Hadoop • Observar resultados 28
  29. 29. Similarity Cooccurrence hadoop jar C:Hadoopmahout-0.8mahout-examples- 0.8-job.jar org.apache.mahout.driver.MahoutDriver recommenditembased --input ///labs/mahoutlab/recomendacion/mahoutinput.txt -- output ///labs/mahoutlab/recomendacion/output/itembased-cooccurence --usersFile ///labs/mahoutlab/recomendacion/users.txt -- similarityClassname SIMILARITY_COOCCURRENCE -- numRecommendations 10 --tempDir ///labs/mahoutlab/recomendacion/temp-cooccurrence 29
  30. 30. Similarity Euclidean Distance hadoop jar C:Hadoopmahout-0.8mahout-examples- 0.8-job.jar org.apache.mahout.driver.MahoutDriver recommenditembased --input ///labs/mahoutlab/recomendacion/mahoutinput.txt -- output ///labs/mahoutlab/recomendacion/output/itembased-euclidean --usersFile ///labs/mahoutlab/recomendacion/users.txt -- similarityClassname SIMILARITY_EUCLIDEAN_DISTANCE -- numRecommendations 10 --tempDir ///labs/mahoutlab/recomendacion/temp-euclidean 30
  31. 31. Similarity LogLikeliHood hadoop jar C:Hadoopmahout-0.8mahout-examples- 0.8-job.jar org.apache.mahout.driver.MahoutDriver recommenditembased --input ///labs/mahoutlab/mahoutinput.txt --output ///labs/mahoutlab/output/itembased-loglikelihood --usersFile ///labs/mahoutlab/users.txt -- similarityClassname SIMILARITY_LOGLIKELIHOOD --numRecommendations 10 --tempDir ///labs/mahoutlab/recomendacion/temp-loglikelihood 31
  32. 32. Agenda • Minería de datos tradicional con SQL Server Analysis Services • Arquitecturas de Minería para Big Data • Algoritmos Mahout: Asociación • Algoritmos Mahout: Clustering • Ejecución distribuida con Mahout • Algoritmos Mahout: Clasificación 32
  33. 33. Algoritmos Hadoopables: Clustering 33 Map Reduce Single Node • Item Base Collaborative Filtering • Naive Bayes • Random Forest • K-Means • … • User Based Collaborative Filtering • Logistic Regression • Markov Models • Multilayer Perceptron • …
  34. 34. Mahout Clustering Algoritmos • K-Means • Canopy Clustering • Dirichlet • Streaming k-Means • Spectral Clustering • Spearman correlation Medidas de distancia • Manhattan • Euclidean 34
  35. 35. DEMO 35 Clustering
  36. 36. Mail Cluster, Pasos Preparar datos  Vectores Ejecutar el procesado Mahout Clustering en Hadoop Observar resultados 36
  37. 37. Convirtiendo frases a vectores Mail 1: “SQL Server alto rendimiento” • Bag of Words: • SQL  1 • Server  2 • alto 3 • rendimiento 4 • Vectores: (Mail#,Word) = (1,1),(1,2),(1,3),(1,4) 37
  38. 38. Seq2sparse command hadoop jar C:Hadoopmahout-0.8mahout-examples- 0.8-job.jar org.apache.mahout.driver.MahoutDriver seq2sparse --input ///labs/mahoutlab/clustering-spam/ output/seqdir --output ///labs/mahoutlab/clustering-spam/ output/vectors --overwrite --weight tfidf --sequentialAccessVector --norm 2 -- logNormalize --namedVector 38
  39. 39. K-means Cosine Distance hadoop jar C:Hadoopmahout-0.8mahout-examples- 0.8-job.jar org.apache.mahout.clustering.kmeans.KMeansDrive r --input ///labs/mahoutlab/clustering-spam/ output/vectors/tfidf-vectors --clusters ///labs/mahoutlab/clustering-spam/output/initial-cluster --output ///labs/mahoutlab/clustering-spam/ output/kmeans -cd 0.1 -k 10 -x 10 -cl -dm org.apache.mahout.common.distance.CosineDistan ceMeasure 39
  40. 40. Output VL-1382{n=261 c=[0:0.007, 9:0.001, 11:0.000, … Top Palabras SQL Performance Availability T-SQL Select 40
  41. 41. Agenda • Minería de datos tradicional con SQL Server Analysis Services • Arquitecturas de Minería para Big Data • Algoritmos Mahout: Asociación • Algoritmos Mahout: Clustering • Ejecución distribuida con Mahout • Algoritmos Mahout: Clasificación 41
  42. 42. Mahout Clasificación Algoritmos • Decision Trees • Naïve Bayes • Markov Model • Random Forest • … 42
  43. 43. DEMO 43 Clasificación
  44. 44. Tabla de casos: Clasificación SPAM 44 Email text file Spam Yes No Yes No Yes Yes Yes Yes No
  45. 45. Set de entrenamiento y test hadoop jar C:Hadoopmahout-0.8mahout-examples- 0.8-job.jar org.apache.mahout.driver.MahoutDriver split - -input ///labs/mahoutlab/clasificacion2/output/vecto rs/tfidf-vectors --trainingOutput ///labs/mahoutlab/clasificacion2/train-vectors --testOutput ///labs/mahoutlab/clasificacion2/test-vectors - -randomSelectionPct 40 --overwrite -- sequenceFiles -xm sequential 45
  46. 46. Naïve Bayes hadoop jar C:Hadoopmahout- 0.8mahout-examples-0.8-job.jar org.apache.mahout.driver.MahoutDriver trainnb --input ///labs/mahoutlab/clasificacion2/train-vectors -el --output ///labs/mahoutlab/clasificacion2/model -li ///labs/mahoutlab/clasificacion2/labelindex -ow 46
  47. 47. Mahout hoy El 25 de Abril, Apache Mahout dijo adios a MapReduce • Mantiene los algoritmos MapReduce Futuras implementaciones usarán DSL (Optimizador algebraico) • Ejecución en Apache SPARK sobre Hadoop 2.X YARN Futuras implementaciones soportadas en HDInsight 47
  48. 48. Conclusión Durante esta sesión… Arquitecturas de Minería para Big Data Algoritmos en Mahout • Clasificación • Asociación • Clustering Ejecución distribuida con Mahout 48
  49. 49. Conclusión • Hadoop cuando Big Data lo requiere. La mayor parte de los algoritmos son Hadoopable. • Hadoop escala horizontalmente. • SQL Server DM solo escala verticalmente. • SQL Server proporciona una visualización rica e integración sencilla. • Para la mayor parte de soluciones de minería no son necesarias grandes cantidades de datos. Hadoop puede hacer la preparación y SQL Server realizar la minería. 49
  50. 50. Minería de datos con SQL Server 50 Data Preparation Model Processing SSIS, T-SQL #1 #2 #3 #4 *** SS Analysis Services Data Mining
  51. 51. Minería de datos con Hadoop + SQL Server 51 Data Preparation Model Processing Hive, Pig, MapReduce, SSIS, T-SQL #1 #2 #3 #4 *** SS Analysis Services Data Mining
  52. 52. Minería de datos con Hadoop, Mahout 52 Data Preparation Model Processing Hive, Pig, MapReduce Mahout #1 #2 #3 #4 ***
  53. 53. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com Síguenos: 55

×