Nauka o danych

10 najlepszych bibliotek uczenia maszynowego dla Pythona

10 najlepszych bibliotek uczenia maszynowego dla Pythona

Co chcesz stworzyć? Ważne pytanie!

Przyszedłeś tutaj, aby korzystać z uczenia maszynowego (ML) . Czy dobrze się zastanowiłeś, po co?? Wybierając bibliotekę uczenia maszynowego, musisz zacząć od tego, jak zamierzasz z niej korzystać. Nawet jeśli interesuje Cię tylko nauka, powinieneś zastanowić się, gdzie jest używane uczenie maszynowe i które jest najbliższe Twojemu głównemu zainteresowaniu. Powinieneś również rozważyć, czy chcesz skoncentrować się na uruchamianiu czegoś na lokalnym komputerze, czy też jesteś zainteresowany rozłożeniem komputera na wiele serwerów.

Na początku zacznij od sprawienia, aby coś działało.

Gdzie używane jest uczenie maszynowe

Można znaleźć wiele projektów wykorzystujących ML, w rzeczywistości tak wiele, że każda kategoria ma długość stron. Krótka wersja jest „wszędzie”, to nieprawda, ale zaczyna się zastanawiać. Oczywiste są silniki rekomendacji, rozpoznawanie obrazów i wykrywanie spamu. Ponieważ już programujesz w Pythonie, zainteresuje Cię również oprogramowanie do uzupełniania kodu Kite. Inne zastosowania to wykrywanie błędów związanych z ręcznym wprowadzaniem danych, diagnostyką medyczną i konserwacją dla głównych fabryk i innych branż

Biblioteki w skrócie:

  1. Nauka scikitu, Od scikitu; Procedury i biblioteki na bazie NumPy, SciPy i Matplotlib. Ta biblioteka opiera się bezpośrednio na procedurach w bibliotekach matematycznych natywnych dla Pythona. Instalujesz scikit-learn za pomocą zwykłego menedżera pakietów Pythona. Scikit-learn jest mały i nie obsługuje obliczeń GPU, może to Cię zniechęcić, ale jest to świadomy wybór. Ten pakiet jest mniejszy i łatwiejszy do rozpoczęcia. Nadal działa całkiem dobrze w większych kontekstach, chociaż aby stworzyć gigantyczny klaster obliczeniowy, potrzebujesz innych pakietów.
  2. Scikit-obraz Specjalne dla obrazów! Scikit-image ma algorytmy do analizy i manipulacji obrazem. Możesz go użyć do naprawy uszkodzonych obrazów, a także do manipulowania kolorami i innymi atrybutami obrazu. Główną ideą tego pakietu jest udostępnienie NumPy wszystkich obrazów, dzięki czemu można na nich wykonywać operacje jako ndarrays. W ten sposób masz dostępne obrazy jako dane do uruchamiania dowolnych algorytmów.
  3. Szogun: Baza C++ z przejrzystymi interfejsami API do Pythona, Javy, Scali itp. Wiele, może większość algorytmów dostępnych do eksperymentowania. Ten jest napisany w C++ dla wydajności, jest też sposób na wypróbowanie go w chmurze. Shogun używa SWIG do łączenia się z wieloma językami programowania, w tym Python. Shogun obejmuje większość algorytmów i jest szeroko stosowany w świecie akademickim. Pakiet posiada przybornik dostępny pod adresem https://www.Przybornik-Szogun.organizacja.
  4. Spark MLlib: Jest głównie dla Javy, ale jest dostępny za pośrednictwem biblioteki NumPy dla programistów Pythona. Biblioteka Spark MLlib została opracowana przez zespół Apache, więc jest przeznaczona dla rozproszonych środowisk obliczeniowych i musi być uruchamiana z administratorem i pracownikami. Możesz to zrobić w trybie samodzielnym, ale prawdziwą mocą Sparka jest możliwość rozdzielania zadań na wiele maszyn. Rozproszony charakter Spark sprawia, że ​​jest popularny wśród wielu dużych firm, takich jak IBM, Amazon i Netflix. Głównym celem jest wydobycie „Big Data”, czyli wszystkich tych okruchów chleba, które zostawiasz podczas surfowania i zakupów online. Jeśli chcesz pracować z uczeniem maszynowym, Spark MLlib jest dobrym miejscem do rozpoczęcia. Algorytmy, które obsługuje, są rozłożone w pełnym zakresie. Jeśli zaczynasz projekt hobbystyczny, może to nie być najlepszy pomysł.
  5. H2O: Jest ukierunkowany na procesy biznesowe, dzięki czemu wspiera predykcje dotyczące rekomendacji i zapobiegania oszustwom. Biznes, H20.ai ma na celu znalezienie i analizę zbiorów danych z rozproszonych systemów plików. Możesz go uruchomić na większości konwencjonalnych systemów operacyjnych, ale głównym celem jest obsługa systemów opartych na chmurze. Zawiera większość algorytmów statystycznych, dzięki czemu może być używany w większości projektów.
  6. Kornak: Jest przeznaczony dla rozproszonych algorytmów uczenia maszynowego. Jest częścią Apache ze względu na rozproszony charakter obliczeń. Ideą Mahout jest, aby matematycy implementowali własne algorytmy. To nie jest dla początkujących, jeśli dopiero się uczysz, lepiej użyć czegoś innego. Powiedziawszy to, Mahout może łączyć się z wieloma back-endami, więc kiedy coś stworzyłeś, zajrzyj, aby zobaczyć, czy chcesz użyć Mahout do swojego frontendu.
  7. Cloudera Oryx: Używany głównie do uczenia maszynowego na danych w czasie rzeczywistym. Oryx 2 to architektura, która nakłada na siebie całą pracę, aby stworzyć system, który może reagować na dane w czasie rzeczywistym. Warstwy działają również w różnych ramach czasowych, z warstwą wsadową, która buduje podstawowy model i warstwą szybkości, która modyfikuje model w miarę napływania nowych danych. Oryx jest zbudowany na bazie Apache Spark i tworzy całą architekturę, która implementuje wszystkie części aplikacji.
  8. Theano: Theano to biblioteki Pythona zintegrowane z NumPy. To jest najbliżej Pythona, jaki możesz uzyskać. Podczas korzystania z Theano zaleca się zainstalowanie gcc. Powodem tego jest to, że Theano może skompilować twój kod w najbardziej odpowiedni możliwy kod code. Chociaż Python jest świetny, w niektórych przypadkach C jest szybszy. Więc Theano może przekonwertować do C i skompilować, dzięki czemu Twój program będzie działał szybciej. Opcjonalnie możesz dodać obsługę GPU.
  9. Przepływ tensorowy: Tensor w nazwie wskazuje na tensor matematyczny. Taki tensor ma 'n' miejsc w macierzy, jednak tensor jest tablicą wielowymiarową. TensorFlow posiada algorytmy do wykonywania obliczeń dla tensorów, stąd nazwa, którą można nazwać z Pythona. Jest zbudowany w C i C++, ale ma interfejs dla Pythona. Dzięki temu jest łatwy w użyciu i szybki w działaniu. Tensorflow może działać na procesorze, GPU lub w sieciach, dzięki silnikowi wykonawczemu, który działa jako warstwa między kodem a procesorem.
  10. Biblioteka map: Kiedy wpadniesz na problem, który możesz rozwiązać za pomocą uczenia maszynowego, najprawdopodobniej będziesz chciał zwizualizować swoje wyniki. Tutaj wkracza matplotlib. Jest przeznaczony do pokazywania wartości dowolnych wykresów matematycznych i jest intensywnie używany w świecie akademickim.

WNIOSEK

Ten artykuł dał Ci wyobrażenie o tym, co można zaprogramować w uczeniu maszynowym. Aby uzyskać jasny obraz tego, czego potrzebujesz, musisz zacząć od stworzenia kilku programów i zobaczyć, jak działają. Dopóki nie dowiesz się, jak można coś zrobić, możesz znaleźć idealne rozwiązanie dla swojego następnego projektu.

Znaczenie błędu nie można pobrać blokady /var/lib/dpkg/lock-frontend
Podczas korzystania z dowolnego systemu operacyjnego możesz czasami natknąć się na irytujące błędy. Czasami łatwo rozpoznajesz te błędy i wiesz dokład...
Jak korzystać z wyszukiwania apt-cache, aby znaleźć pakiety?
Kiedykolwiek napotkałeś problem podczas instalacji pakietu apt, gdy nie znasz dokładnej nazwy pakietu?. Podobnie jak w przypadku apt, musisz podać peł...
Why you need apt-get clean options?
All system administrators and most of the regular Ubuntu users prefer to use apt-get for installing and upgrading packages but do not pay attention to...