SlideShare uma empresa Scribd logo
1 de 11
Apache Hadoop în conjuncţie cu Mahout Budăi Steliana:steliana.budai@infoiasi.ro                                           Odata cu cresterea masivă, atat a datelor structurate cat si a celor nestructurate, apare nevoia de a sti ce se află in aceste date. Invatarea automată este folosita pentru a afla ce este în aceste date cu un input uman minim. Construit peste Apache Handoop, Mahout rezolvă o serie de probleme de învăţare automată  folosind terabytes de date pe mii de calculatoare Keywords: Mahout, Hadoop, clasificare, Bayes, SVM Ce este Handoop? Căutarea informaţiilor pe web folosind Google sau Yahoo se face foarte repede deoarece se foloseste algoritmul Map Reduce. Acesta este o tehnologie porprietară. Apache vine cu un framework map reduce propriu numit Hadoop Apache Hadoop este un framework java ce ofera posibilitatea aplicaţiilor să lucreze cu mii de noduri si cantitaţi mari de date. Handoop este un proiect Apache fiind folosit şi construit de o comunitate formată din persoane din intreaga lume. Yahoo are cea mai mare contributie la acest proiect, folosind Handoop la cautări si publicitate. Alti contribuitori sunt Google si IBM, care il folosesc pentru cursuri universitare si programare distribuită. Trăsaturi Handoop ,[object Object]
poate rula in trei moduri diferite, depinzand de modul de distributie al proceselor:
modul implicit: totul e rulat de un proces java
pseudo distribuit ruleaza pe o singura masina cu diferiti demoni Handoop rulati ca procese java diferite
distribuit complet sau modul cluster  o masina din cluster este NameNod(are grija de namespace, ) ul si alta este JobTraker - ul
implementează paradigma map reduce, care se bazeaza pe faptul ca aplicaţia este divizată în mici fragmente fiecare din ele putand fi executată sau reexecutată pe fiecare nod din cluster. Map Reduce este o combinatie a funcţiilor map() şi reduce()
Map: ofera functionalitate pentru procesare datelor de tip cheie valoare pentru a genera perechi de tip cheie valoare pentru output
Reduce: include functionalitate pentru colecatrea output ului de la map - uri de procesare paralele si crearea otputului din datele colectate.
 ofera un sistem de fisiere distribuit care stochează datele pe noduri. Atat map/reduce cat şi fişierele de sistem distribuite sunt create astfel încat eşecurile din noduri sunt tratate de frameworkExemplu Map Reduce pentru transformarea textului cu spaţii în text fără spaţii public static class Map extends MapReduceBase implements Mapper,[object Object]
se foloseste de variabile de predictie care pot fi numerice sau de alt tip
este echivalentul discriminator pentru Bayes naiv. Nu modelează probabilitatea datei de input cum face acesta, deci nu poate face presupuneri false despre ditribuţia datelor de inputNaive Bayes ,[object Object],Este cel mai des intalnit la filtrele de spam. In ciuda simplităţii şi a presupunerilor naïve, s – a dovedit a fi foarte bun in practică. Pentru a fi clasificate obiectele sunt reprezentate prin caracteristici numerice: Exemplu : la email spam: fiecare caracteristica indică daca un anumit cuvant este prezent sau nu in mail. Algoritmul are doua parti  invatare si aplicare. Inainte de a se putea rula trainer – ul trebuie efectuată o muncă de pregătire pentru a seta o serie de documente pentru training  şi un set de documente pentru testare.  WikipediaDatasetCreatorDriver, inclus in sursele Mahout împarte documentele în funcţie categorii de interes. Categoria de interes poate fi orice categorie Wikipedia validă.  Fie domeniile de interes moda, stiinţa, sport. Orice categorie Wikipedia care are o categorie din acestea trei va fi pus într – un grup împreună cu alte documente din aceeaşi categorie. Fiecare document este normalizat si ii este eliminată punctuaţia  si alte elemente de care nu este nevoie pentru a face clasificarea. Documentele de test şi training nu trebuie sa fie aceleaşi. Dupa ce datele de test şi de training sunt setate se poat rula TrainClassifier, care va încerca să clasifice documentele. Va rezulta o cantitate mare de loguri atat de la Mahout cat şi de la Hadoop. Output ul testului este un set de date numit matrice de confuzie.  Aceasta descrie cate rezultate au fost correct clasificate şi cate incorrect pentru fiecare categorie. Se observa că aproximati 75% din date sunt corecte , ceea ce e mult mai bine decat ghicire random. In timpul invatarii, algoritmului ii este atasat un set de vectori, fiecare dintre ei fiind clasificat clasei careuia ii apartine obiectul. Din aceasta este dedusa combinatia de caracteristici ce apare in mod fecvent in spam – uri. Avand aceasta informati este uşor de dedus daca un mesaj este spam sau nu. Acest algoritm face numeroase presupuneri neadevarate despre date: un exemplu: se consider că  toate caracteristicile obiectului sunt independente(contraexemplu: fie data fraza “Statuia Libertatii
 aceasta nu influenteaza probabilitatea de  vedea grupul de cuvinte”New York”) Naive Bayes Complementar încearcă să corecteze unele dintre problemele clasificatorului Bayes Naiv, dar în acelaşi timp încearcă  să menţină simplicitatea şi viteza SVM ,[object Object]

Mais conteúdo relacionado

Destaque

3 Necrosis And Cell Death
3 Necrosis And Cell Death3 Necrosis And Cell Death
3 Necrosis And Cell Death1395872
 
Introducere în ecosistemul Hadoop
Introducere în ecosistemul HadoopIntroducere în ecosistemul Hadoop
Introducere în ecosistemul HadoopAndrei Postolache
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016Andrew Chen
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
 

Destaque (6)

My Blog
My BlogMy Blog
My Blog
 
3 Necrosis And Cell Death
3 Necrosis And Cell Death3 Necrosis And Cell Death
3 Necrosis And Cell Death
 
Introducere în ecosistemul Hadoop
Introducere în ecosistemul HadoopIntroducere în ecosistemul Hadoop
Introducere în ecosistemul Hadoop
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Semelhante a Hadoop Mahout Budai Steliana

Semelhante a Hadoop Mahout Budai Steliana (17)

Baze de date NoSQL
Baze de date NoSQLBaze de date NoSQL
Baze de date NoSQL
 
Machine learning
Machine learningMachine learning
Machine learning
 
Tice usb 1
Tice usb 1Tice usb 1
Tice usb 1
 
Stroia_Laurentiu
Stroia_LaurentiuStroia_Laurentiu
Stroia_Laurentiu
 
NoSql
NoSqlNoSql
NoSql
 
Dezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor WebDezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor Web
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
Herea Adrian Open Calais
Herea Adrian Open CalaisHerea Adrian Open Calais
Herea Adrian Open Calais
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
Procesarea Rdf in .NET
Procesarea Rdf in .NETProcesarea Rdf in .NET
Procesarea Rdf in .NET
 
Baza de date
Baza de dateBaza de date
Baza de date
 
Graduation projects in Crispico
Graduation projects in CrispicoGraduation projects in Crispico
Graduation projects in Crispico
 
Music Finder
Music FinderMusic Finder
Music Finder
 
Introducere baza de-date
Introducere baza de-dateIntroducere baza de-date
Introducere baza de-date
 

Hadoop Mahout Budai Steliana

  • 1.
  • 2. poate rula in trei moduri diferite, depinzand de modul de distributie al proceselor:
  • 3. modul implicit: totul e rulat de un proces java
  • 4. pseudo distribuit ruleaza pe o singura masina cu diferiti demoni Handoop rulati ca procese java diferite
  • 5. distribuit complet sau modul cluster o masina din cluster este NameNod(are grija de namespace, ) ul si alta este JobTraker - ul
  • 6. implementează paradigma map reduce, care se bazeaza pe faptul ca aplicaţia este divizată în mici fragmente fiecare din ele putand fi executată sau reexecutată pe fiecare nod din cluster. Map Reduce este o combinatie a funcţiilor map() şi reduce()
  • 7. Map: ofera functionalitate pentru procesare datelor de tip cheie valoare pentru a genera perechi de tip cheie valoare pentru output
  • 8. Reduce: include functionalitate pentru colecatrea output ului de la map - uri de procesare paralele si crearea otputului din datele colectate.
  • 9.
  • 10. se foloseste de variabile de predictie care pot fi numerice sau de alt tip
  • 11.
  • 13. fiecarui punct ii este asignat un label, exemplu true sau false.
  • 14. în timpul invatarii se incearca sa se gaseasca un hiperplan ce separa elementele true de cele false.
  • 15. cum uneori este imposibil să se facă acest lucru, se va găsi hiperplanul care cauzeaza cele mai putine eroriPerceptron şi Winnow ambii algoritmi sunt clasificatori simpli comparabili . Fiind date informaţii de antrenament într un spatiu n-dimensional ce e adnotat cu etichete binare, ei garantează gasirea unui hiperplan separator dacă există In contrast cu Perceptron, Winnow lucrează doar pe vectori binari Desi algoritmii sunt simpli merg foarte bine pentru clasificare de text si sunt rapid de antrenat chiar pentru dat seturi uriase. Spre deosebire de Naive Bayes nu se bazeaza pe presupunerea ca toate atributele sunt independente Retele neuronale sunt folosite pentru clasificarea obiectelor multi dimensionale;acestea sunt capabile sa invete nu numai hiperplane separatoare liniare ci si legaturi de decizie arbitrare Random Forests este nevoie de cross validare sau un test separat pt a estima erorile, acestea fiind estimate intern in timpul rulării pasii algoritmului: adunarea paginilor web asignarea de etichete: “in tema” sau “in afara temei” generarea de vectori de proprietati a paginilor web(parsarea textului si imbunatatirea vectorilor cu ajutorul cuvintelor gasite) antrenarea unor algoritmi aplicarea algoritmilor antrenati unor date noi zXyFiecare pagina web este un punct intr – un spatiu multi dimensional Figura 1: spaţiul multidimensional al paginilor web Pros si Cons Mahout Pros Mahout scaleaza sesiunile de training cu implementarea handoop Mahout este Open Source Cons: nu scaleaza conform asteptarilor scalabilitatea este obtinuta folosind o panta panta standard pe recomandare nu este foarte exactă(exemple: Netflix test: succes -3%  (0.98RMSE)), comparat cu alti algoritmi ce nu sunt inclusi in Mahout Factorizarea Matricilor (Netflix test: suces: 8.4% (0.87 RMSE)) implementare ineficienta consum de memorie si resurse enorm doar filtrare colaborativa doar algoritmi standard Referinte http://en.wikipedia.org/wiki/Hadoop http://jeffeastman.blogspot.com/2008/03/what-is-mahout.html http://isabel-drost.de/hadoop/slides/google.pdf http://ml-site.grantingersoll.com/index.php?title=Incubator_proposal http://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf http://denizoktar.wordpress.com/2009/08/03/mahout-review-by-iletken/ http://cwiki.apache.org/MAHOUT/bookstutorialstalks.data/froscon.pdf http://www.eu.apachecon.com/page_attachments/0000/0179/PG_20090313.pdf http://lucene.apache.org/mahout  http://www.ibm.com/developerworks/java/library/j-mahout/index.html http://www.javaworld.com/javaworld/jw-09-2008/jw-09-hadoop.html?page=4