La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Mahout Ida Mele. Introduzione Machine Learning Data Mining Web Mining: Web content mining Web structure mining Web usage mining Pagina 2 Mahout.

Presentazioni simili


Presentazione sul tema: "Mahout Ida Mele. Introduzione Machine Learning Data Mining Web Mining: Web content mining Web structure mining Web usage mining Pagina 2 Mahout."— Transcript della presentazione:

1 Mahout Ida Mele

2 Introduzione Machine Learning Data Mining Web Mining: Web content mining Web structure mining Web usage mining Pagina 2 Mahout

3 Introduzione Tecniche di data mining: Clustering – apprendimento non supervisionato Classificazione – apprendimento supervisionato Alberi di decisione Analisi delle associazioni Reti neurali Pagina 3 Mahout

4 Clustering Raggruppamento di oggetti in cluster. Obiettivo: oggetti simili dovranno appartenere allo stesso cluster. Gli algoritmi di clustering raggruppano gli oggetti considerando la somiglianza tra essi. Tale somiglianza è tipicamente misurata come distanza reciproca tra oggetti. Pagina 4 Mahout

5 Clustering Il clustering può essere condotto con: Metodi aggregativi Metodi divisivi Possibili clustering: esclusivo non esclusivo partitivo gerarchico Pagina 5 Mahout

6 Classification È una forma di apprendimento supervisionato o apprendimento con rinforzo. Nella classificazione i dati sono divisi in Training set e Test set. Il Training set è utilizzato nella fase di addestramento per la costruzione del modello. In questa fase si assume che le istanze appartengono a classi e la classe di appartenenza è specificata dallattributo di classe. Pagina 6 Mahout

7 Classification Il Test set viene utilizzato per valutare laccuratezza del modello. È importante che sia diverso dal training set in modo da evitare stime ottimistiche. Il modello realizzato è applicato per la classificazione delle istanze la cui classe è ignota. Pagina 7 Mahout

8 Mahout: introduzione Apache Mahout: –Librerie scalabili per il machine learning. –Adatto a grandi data sets. –Gli algoritmi sono implementati su Apache Hadoop utilizzando il paradigma map/reduce. Pagina 8 Mahout

9 Mahout: introduzione Link utili: – Homepage: – Wiki: https://cwiki.apache.org/confluence/display/MAH OUT/Mahout+Wiki – Download: Pagina 9 Mahout

10 Mahout: introduzione Mahout possiede numerose funzionalità: – Collaborative Filtering – User and Item based recommenders – K-Means, Fuzzy K-Means clustering – Mean Shift clustering – Dirichlet process clustering – Latent Dirichlet Allocation – Singular value decomposition – Parallel Frequent Pattern mining – Complementary Naive Bayes classifier – Random forest decision tree based classifier Pagina 10 Mahout

11 Installazione Scaricare lultima release di Mahout (esempio la 0.5). Prerequisiti: – Java JDK 1.6 – Maven o superiore (http://maven.apache.org/). Solo se si desidera installare Mahout a partire dal source code.http://maven.apache.org/ Pagina 11 Mahout

12 Installazione Posizionarsi nella directory con il core di Mahout e digitare: mvn compile In alternativa si può fare direttamente linstallazione. Posizionarsi nella directory di Mahout e digitare: mvn install Verrà generato in core/target/ un file jar il cui nome conterrà la versione di Mahout. Ad esempio se si usa la release 0.5 il file sarà: mahout-core-0.5.jar. Pagina 12 Mahout

13 Clustering Clustering of synthetic control data – Scaricare synthetic_control.data.txt da: nthetic_control.data – Copiare linput nellHDFS: creare testdata allinterno di Hadoop e copiarvi i dati scaricati. cd $HADOOP_HOME bin/hadoop fs -mkdir testdata bin/hadoop fs –put $PATH_DATI/synthetic_control.data.txt testdata Nota: $HADOOP_HOME è la path della directory di Hadoop, mentre $PATH_DATI è la path della cartella con il file dati. Pagina 13 Mahout

14 Clustering – Il job Example di Mahout non esiste ed è necessario crearlo: cd $MAHOUT_HOME mvn clean install// include tutti gli unit tests Oppure mvn clean install -DskipTests=true // senza gli unit tests Nota: $MAHOUT_HOME è la root directory di Mahout. Se tutto è andato a buon fine comparirà: BUILD SUCCESSFUL, il job verrà generato nella directory examples/target di Mahout e si chiamerà: mahout- examples-0.5.job.jar (es. se si usa Mahout 0.5). Pagina 14 Mahout

15 Clustering – In Hadoop settare la JAVA_HOME: cd $HADOOP_HOME export JAVA_HOME=/Library/Java/Home – Eseguire il clustering, ad esempio utilizziamo canopy: $MAHOUT_HOME/bin/mahout org.apache.mahout.clustering.syntheticcontrol.canopy.J ob – In Hadoop verrà creata la cartella output con il risultato del clustering. Per visualizzare i file di output utilizzare: bin/hadoop fs -lsr output Pagina 15 Mahout

16 Output Per analizzare loutput dobbiamo prima farne il dump. Utilizziamo il Cluster Dumper di Mahout. Il comando clusterdump riceve: – La directory con il risultato del clustering; – La directory con i clustered points; – Il file dove dovrà essere creato il dump Pagina 16 Mahout

17 Creazione del dump Copiare il risultato del clustering nella cartella examples di Mahout: - bin/hadoop fs -get output $MAHOUT_HOME/examples Spostarsi in Mahout e dopo aver settato la JAVA_HOME eseguire il dump con clusterdump: - cd $MAHOUT_HOME -export JAVA_HOME=/Library/Java/Home -bin/mahout clusterdump --seqFileDir examples/output/clusters-0 --pointsDir examples/output/clusteredPoints/ --output examples/output/clusteranalyze.txt Pagina 17 Mahout

18 Creazione del dump Contenuto di clusteranalyze.txt – more examples/output/clusteranalyze.txt C-0{n=21 c=[29.552, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] r=[0.979, 3.352, 5.334, 5.851, 4.868, 3.000, 3.376, 4.812, 5.159, 5.596, 4.940, 4.793, 5.415, 5.014, 5.155, 4.262, 4.891, 5.475, 6.626, 5.691, 5.240, 4.385, 5.767, 7.035, 6.238, 6.349, 5.587, 6.006, 6.282, 7.483, 6.872, 6.952, 7.374, 8.077, 8.676, 8.636, 8.697, 9.066, 9.835, , , , 9.929, , 9.824, , , 9.799, , , , , , , , , , , , ]} Weight: Point: 1.0: [28.781, , , , , , , , , , , , , , , , , , , , , , , , , , , … Pagina 18 Mahout

19 Visualizzazione Visualizing Sample Clusters Spostarsi nella sottocartella examples di mahout: – cd examples Eseguire il DisplayClustering: – mvn -q exec:java - Dexec.mainClass=org.apache.mahout.clustering.display.Dis playClustering Il risultato della visualizzazione è il dataset random originale con delle ellissi semi-illustrative. Pagina 19 Mahout

20 DisplayClustering: risultato Pagina 20 Mahout

21 DisplayCanopy: risultato Pagina 21 Mahout mvn -q exec:java - Dexec.mainClass=org.apache.mahout.clustering.display.DisplayCanopy

22 DisplayMeanShift: risultato Pagina 22 Mahout mvn -q exec:java - Dexec.mainClass=org.apache.mahout.clustering.display.DisplayMeanShift

23 Classification Pagina 23 Mahout Classificare un dump di dati da Wikipedia utilizzando Naive Bayes. Il Wikipedia dump è diviso in chunk e ognuno di essi è ulteriormente diviso per paese. A partire da queste suddivisioni si effettua il training del classificatore, il quale dovrà predire il paese di provenienza dei nuovi articoli (articoli mai visti, di cui non si conosce la provenienza). Scaricare e scompattare il dump di Wikipedia: latest-pages-articles.xml.bz2 -- Attenzione: sono circa 8GB --

24 Classification Creare in examples di Mahout la cartella temp e copiarvi il file enwiki-latest-pages-articles10.xml. Dividere i dati: –bin/mahout wikipediaXMLSplitter –d examples/temp/enwiki-latest-pages-articles10.xml -o wikipedia/chunks -c 64 Il risultato verrà fatto nellHDFS, la lista di file la si può visualizzare con il comando: –hadoop fs -ls wikipedia/chunks Pagina 24 Mahout

25 Classification Dividere i dati in base ai paesi: – bin/mahout wikipediaDataSetCreator -i wikipedia/chunks -o wikipediainput –c /examples/src/test/resources/country.txt Training: – bin/mahout trainclassifier -i wikipediainput -o wikipediamodel Test: – bin/mahout testclassifier -m wikipediamodel -d wikipediainput Pagina 25 Mahout

26 Formato Vector Clustering e classificazione dei propri dati. Per prima cosa è necessario convertire i prorpi dati nel formato Vector di Mahout. È possibile creare vettori da: – Indice in formato Lucene, – Directory contenente documenti, – File in formato ARFF Pagina 26 Mahout

27 Formato Vector Creare vettori da file di testo. Mahout mette a disposizione delle utilities per generare vettori da cartelle con file di testo. Prima di creare il vettore è necessario convertire i documenti nel formato SequenceFile. – bin/mahout seqdirectory --input --output {UTF-8|cp1252|ascii...}> 64> > Pagina 27 Mahout

28 Formato Vector Creare vettori da file di testo. Una volta fatta la conversione si può creare il vettore: – bin/mahout seq2sparse -i -o {tf|tfidf}> 100> org.apache.lucene.analysis.standard.StandardAnalyzer> 2> 1> 99> {INF|integer >= 0}>" {false|true required for running some algorithms(LDA,Lanczos)}>" Pagina 28 Mahout

29 Formato Vector Creare vettori da file ARFF. Il formato ARFF di Weka può essere convertito utilizzando: org.apache.mahout.utils.arff.Driver Usage: [--input --output --max --help --dictOut --outputWriter --delimiter ] Esempio, creare la directory arff_data con un po di file.arff: –bin/mahout arff.vector --input $PATH_ARFF/arff_data/ --dictOut examples/output/dict.txt --output examples/output/convert Pagina 29 Mahout


Scaricare ppt "Mahout Ida Mele. Introduzione Machine Learning Data Mining Web Mining: Web content mining Web structure mining Web usage mining Pagina 2 Mahout."

Presentazioni simili


Annunci Google