10 najlepszych bibliotek uczenia maszynowego dla Pythona

10 najlepszych bibliotek uczenia maszynowego dla Pythona

Co chcesz stworzyć? Ważne pytanie!

Przybyłeś tutaj, aby użyć uczenia maszynowego (ML) . Czy uważnie zastanawiałeś się, co? Kiedy wybierasz bibliotekę uczenia maszynowego, musisz zacząć od tego, jak będziesz z niej korzystać. Nawet jeśli jesteś zainteresowany nauką, powinieneś rozważyć, gdzie jest używane uczenie maszynowe i które jest najbliżej głównego zainteresowania. Powinieneś również rozważyć, czy chcesz skupić się na tym, aby coś było na lokalnym komputerze lub jeśli chcesz rozłożyć komputer na wiele serwerów.

Na początku zacznij od zrobienia czegoś.

Gdzie używane jest uczenie maszynowe

Można znaleźć wiele projektów, które korzystają z ML, w rzeczywistości tak wiele, że każda kategoria ma długie strony. Krótka wersja jest „wszędzie”, to nie jest prawda, ale zaczyna się zastanawiać. Oczywiste to silniki zalecenia, rozpoznawanie obrazu i wykrywanie spamu. Ponieważ już programujesz w Python, będziesz również zainteresowany oprogramowaniem do ukończenia kodu latawców. To inne zastosowania to wykrywanie błędów z ręcznego wprowadzania danych, diagnozy medycznej i konserwacji głównych fabryk i innych branż

Biblioteki w skrócie:

  1. Scikit-learn, Od scikitu; Procedury i biblioteki na szczycie Numpy, Scipy i Matplotlib. Ta biblioteka polega bezpośrednio na rutynach bibliotek matematycznych pochodzących z Pythona. Instalujesz scikit-learn ze swoim zwykłym menedżerem pakietów Python. Scikit-learn jest niewielki i nie obsługuje obliczeń GPU, może to cię uczynić, 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, aby stworzyć gigantyczny klaster obliczeń, potrzebujesz innych pakietów.
  2. Scikit-Imagage Specjalne dla zdjęć! Scikit-Imagage ma algorytmy do analizy obrazu i manipulacji. Możesz go użyć do naprawy uszkodzonych obrazów, a także manipulowania kolorem i innymi atrybutami obrazu. Główną ideą tego pakietu jest udostępnienie wszystkich obrazów Numpy, abyś mógł na nich operacje jako ndarrays. W ten sposób masz dostępne obrazy jako dane do uruchamiania dowolnych algorytmów.
  3. Shogun: Baza C ++ z przezroczystymi interfejsami API do Pythona, Java, Scala itp. Wiele, być może większość algorytmów dostępnych do eksperymentowania. Ten jest napisany w C ++ dla wydajności, istnieje również sposób na wypróbowanie go w chmurze. Shogun używa SWIG do interfejsu z wieloma językami programowania, w tym Python. Shogun obejmuje większość algorytmów i jest szeroko stosowany w świecie akademickim. Pakiet ma narzędzia dostępnego na stronie https: // www.Shogun-toolbox.org.
  4. Spark mllib: Dotyczy głównie Java, ale jest dostępna za pośrednictwem biblioteki Numpy dla programistów Python. Spark Mllib jest opracowywany przez zespół Apache, więc ma on na celu rozproszone środowiska obliczeniowe i musi być uruchamiana z mistrzem i pracownikami. Możesz to zrobić w trybie samodzielnym, ale prawdziwą mocą Spark jest możliwość rozpowszechniania zadań na wielu maszynach. Rozproszony charakter Spark sprawia, że ​​jest popularna wśród wielu dużych firm, takich jak IBM, Amazon i Netflix. Głównym celem jest wydanie „dużych zbiorów danych”, co oznacza, że ​​wszystkie te bułki pozostawiasz po surfowaniu i zakupach online. Jeśli chcesz pracować z uczeniem maszynowym, Spark Mllib to dobre miejsce na rozpoczęcie. Algorytmy obsługiwane przez IT są rozłożone na pełnym zakresie. Jeśli zaczynasz projekt hobby, może to nie być najlepszy pomysł.
  5. H2O: Ma na celu procesy biznesowe, więc wspiera prognozy dotyczące zaleceń i zapobiegania oszustwom. Biznes, H20.AI ma na celu znalezienie i analizowanie zestawów danych z rozproszonych systemów plików. Możesz uruchomić go w większości konwencjonalnych systemów operacyjnych, ale głównym celem jest wspieranie systemów opartych na chmurze. Zawiera większość algorytmów statystycznych, więc może być używany do większości projektów.
  6. Kornak: Jest wykonany dla rozproszonych algorytmów uczenia maszynowego. Jest częścią Apache ze względu na rozproszony charakter obliczeń. Idea Mahout jest dla matematyków wdrażania własnych algorytmów. To nie jest dla początkującego, jeśli właśnie się uczysz, lepiej użyć czegoś innego. Powiedziawszy to, Mahout może połączyć się z wieloma zapleczami, więc kiedy utworzyłeś coś, aby zobaczyć, czy chcesz użyć Mahout dla swojego frontend.
  7. Cloudera Oryx: Używane głównie do uczenia maszynowego na danych w czasie rzeczywistym. Oryx 2 to architektura, która poleca wszystkie prace w celu utworzenia systemu, 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 model podstawowy i warstwę prędkości, która modyfikuje model, gdy pojawią się nowe dane. Oryx jest zbudowany na Apache Spark i tworzy całą architekturę, która implementuje wszystkie części aplikacji.
  8. Theano: Theano to biblioteki Pythona, które są zintegrowane z Numpy. To jest najbliżej Pythona, który możesz dostać. Kiedy korzystasz z Theano, zaleca się zainstalowanie GCC. Powodem tego jest to, że Theano może skompilować Twój kod do najbardziej odpowiedniego kodu. Chociaż Python jest świetny, w niektórych przypadkach C jest szybszy. Więc Theano może przekonwertować na C i skompilować, dzięki czemu program jest szybszy. Opcjonalnie możesz dodać obsługę GPU.
  9. Tensorflow: Tensor w nazwie wskazuje na tensor matematyczny. Taki tensor ma miejsca w matrycy, jednak tensor jest tablicą wielowymiarową. Tensorflow ma algorytmy do wykonywania obliczeń dla tensorów, stąd nazwa, możesz je wywołać z Python. Jest zbudowany w C i C ++, ale ma front-end dla Pythona. To ułatwia użycie i szybkie działanie. TensorFlow może działać na procesorze, GPU lub dystrybucji w sieciach, jest to osiągane przez silnik wykonania, który działa jako warstwa między kodem a procesorem.
  10. Matplotlib: Kiedy wpadniesz na problem, który możesz rozwiązać z uczeniem maszynowym, najprawdopodobniej będziesz chciał wizualizować swoje wyniki. W tym miejscu wchodzi Matplotlib. Został zaprojektowany w celu wyświetlania wartości dowolnych wykresów matematycznych i jest mocno używany w świecie akademickim.

WNIOSEK

Ten artykuł dał ci pomysł na to, co jest dostępne do programowania w uczeniu maszynowym. Aby uzyskać jasny obraz tego, czego potrzebujesz, musisz zacząć od wykonania kilku programów i zobaczyć, jak działają. Dopóki nie wiesz, jak można zrobić, czy możesz znaleźć idealne rozwiązanie do następnego projektu.