Mahout - Wprowadzenie
Żyjemy w czasach, w których informacji jest pod dostatkiem. Przeładowanie informacjami osiągnęło takie rozmiary, że czasami trudno jest zarządzać naszymi małymi skrzynkami pocztowymi! Wyobraź sobie ilość danych i zapisów, które niektóre popularne strony internetowe (takie jak Facebook, Twitter i Youtube) muszą codziennie gromadzić i zarządzać. Nierzadko zdarza się, że nawet mniej znane witryny internetowe otrzymują zbiorczo ogromne ilości informacji.
Zwykle polegamy na algorytmach eksploracji danych, aby analizować dane zbiorcze, aby identyfikować trendy i wyciągać wnioski. Jednak żaden algorytm eksploracji danych nie może być wystarczająco wydajny, aby przetwarzać bardzo duże zbiory danych i zapewniać wyniki w krótkim czasie, chyba że zadania obliczeniowe są uruchamiane na wielu maszynach rozproszonych w chmurze.
Mamy teraz nowe struktury, które pozwalają nam rozbić zadanie obliczeniowe na wiele segmentów i uruchomić każdy segment na innym komputerze. Mahout to taka struktura eksploracji danych, która zwykle działa w połączeniu z infrastrukturą Hadoop w tle, aby zarządzać ogromnymi ilościami danych.
Co to jest Apache Mahout?
Kornak jest ten, kto jeździ na słoniu jak jego mistrz. Nazwa pochodzi od ścisłego związku z Apache Hadoop, w którym logo jest słonia.
Hadoop to platforma typu open source firmy Apache, która umożliwia przechowywanie i przetwarzanie dużych zbiorów danych w środowisku rozproszonym na klastrach komputerów przy użyciu prostych modeli programowania.
Apache Mahoutto projekt typu open source, który jest używany głównie do tworzenia skalowalnych algorytmów uczenia maszynowego. Implementuje popularne techniki uczenia maszynowego, takie jak:
- Recommendation
- Classification
- Clustering
Apache Mahout rozpoczął się jako podprojekt Apache's Lucene w 2008 roku. W 2010 roku Mahout stał się projektem najwyższego poziomu Apache.
Cechy Mahouta
Poniżej wymieniono prymitywne cechy Apache Mahout.
Algorytmy Mahouta są napisane na platformie Hadoop, więc działa dobrze w środowisku rozproszonym. Mahout używa biblioteki Apache Hadoop do efektywnego skalowania w chmurze.
Mahout oferuje programistom gotową do użycia platformę do wykonywania zadań eksploracji danych na dużych ilościach danych.
Mahout umożliwia aplikacjom efektywną i szybką analizę dużych zbiorów danych.
Obejmuje kilka implementacji klastrowania z obsługą MapReduce, takich jak k-średnie, rozmyte k-średnie, Canopy, Dirichlet i Mean-Shift.
Obsługuje Distributed Naive Bayes i Complementary Naive Bayes implementacje klasyfikacji.
Zawiera rozproszone funkcje fitness do programowania ewolucyjnego.
Obejmuje biblioteki macierzy i wektorów.
Zastosowania Mahouta
Firmy takie jak Adobe, Facebook, LinkedIn, Foursquare, Twitter i Yahoo używają Mahout wewnętrznie.
Foursquare pomaga znaleźć miejsca, jedzenie i rozrywkę dostępne w określonym obszarze. Wykorzystuje silnik rekomendujący firmy Mahout.
Twitter używa usługi Mahout do modelowania zainteresowań użytkowników.
Wieśniak! używa Mahouta do wydobywania wzorców.