Data Science

Top 10 knihoven strojového učení pro Python

Top 10 knihoven strojového učení pro Python

Co chcete vytvořit? Důležitá otázka!

Přišli jste sem použít Machine Learning (ML) . Zvážili jste pečlivě, za co? Když si vyberete Knihovnu strojového učení, musíte začít s tím, jak ji budete používat. I když vás zajímá pouze učení, měli byste zvážit, kde se strojové učení používá a které je nejblíže vašemu hlavnímu zájmu. Měli byste také zvážit, zda se chcete zaměřit na to, aby se na vašem místním počítači něco stalo, nebo pokud máte zájem o šíření vaší výpočetní techniky na mnoho serverů.

Na začátku začněte tím, aby něco fungovalo.

Kde se používá strojové učení

Najdete mnoho projektů, které používají ML, ve skutečnosti tolik, že každá kategorie je dlouhá. Krátká verze je „všude“, to není pravda, ale člověk se začal divit. Samozřejmostí jsou motory doporučení, rozpoznávání obrázků a detekce spamu. Jelikož již programujete v Pythonu, bude vás zajímat také software pro dokončení kódu Kite. Toto je Další použití k detekci chyb z ručního zadávání dat, lékařské diagnostiky a údržby pro velké továrny a další průmyslová odvětví

Knihovny ve zkratce:

  1. Scikit-učit se, Ze scikitu; Rutiny a knihovny nad NumPy, SciPy a Matplotlib. Tato knihovna se spoléhá přímo na rutiny v matematických knihovnách nativních pro Python. Nainstalujete scikit-learn pomocí svého běžného správce balíčků Pythonu. Scikit-learn je malý a nepodporuje výpočty GPU, což vás může dostat, ale je to vědomá volba. Tento balíček je menší a je pro něj snazší začít. Ve větších kontextech to stále funguje docela dobře, i když k vytvoření gigantického clusteru výpočtů potřebujete další balíčky.
  2. Scikit-image Speciální pro obrázky! Scikit-image má algoritmy pro analýzu obrazu a manipulaci s ním. Můžete jej použít k opravě poškozených obrázků a také k manipulaci s barvami a dalšími atributy obrázku. Hlavní myšlenkou tohoto balíčku je zpřístupnit všechny obrázky NumPy, abyste na nich mohli provádět operace jako ndarrays. Tímto způsobem máte obrázky k dispozici jako data pro spuštění libovolných algoritmů.
  3. Shogun: C ++ základna s jasnými rozhraními API pro Python, Java, Scala atd. Mnoho, možná většina algoritmů dostupných pro experimentování. Tenhle je napsán v C ++ kvůli efektivitě, existuje také způsob, jak to vyzkoušet v cloudu. Shogun používá SWIG k propojení s mnoha programovacími jazyky, včetně Pythonu. Shogun pokrývá většinu algoritmů a je hojně používán v akademickém světě. Balíček má sadu nástrojů k dispozici na https: // www.Shogun-Toolbox.org.
  4. Spark MLlib: Je hlavně pro Javu, ale je k dispozici prostřednictvím NumPy Library pro vývojáře Pythonu. Spark MLlib byl vyvinut týmem Apache, takže je zaměřen na distribuovaná výpočetní prostředí a musí být spuštěn s masterem a pracovníky. Můžete to udělat v samostatném režimu, ale skutečnou silou Sparku je schopnost distribuovat úlohy na mnoho strojů. Díky distribuované povaze je Spark oblíbený u mnoha velkých společností, jako jsou IBM, Amazon a Netflix. Hlavním účelem je těžit „Big Data“, tedy všechny ty strouhanky, které po sobě zanecháte při surfování a nakupování online. Pokud chcete pracovat s Machine Learning, Spark MLlib je dobrým místem pro začátek. Algoritmy, které podporuje, jsou rozloženy v celém rozsahu. Pokud zahajujete hobby projekt, nemusí to být nejlepší nápad.
  5. H2O: Je zaměřen na obchodní procesy, takže podporuje předpovědi doporučení a prevence podvodů. Podnikání, H20.ai si klade za cíl najít a analyzovat soubory dat z distribuovaných souborových systémů. Můžete jej spustit na většině konvenčních operačních systémů, ale hlavním účelem je podpora cloudových systémů. Zahrnuje většinu statistických algoritmů, takže je lze použít pro většinu projektů.
  6. Mahout: Je určen pro distribuované algoritmy strojového učení. Je součástí Apache kvůli distribuované povaze výpočtů. Myšlenkou Mahouta je, aby matematici implementovali své vlastní algoritmy. To není pro začátečníka, pokud se jen učíte, je lepší použít něco jiného. Když už jsem to řekl, Mahout se může připojit k mnoha back-endům, takže když jste vytvořili něco, podívejte se, abyste zjistili, zda chcete použít Mahout pro vaše frontend.
  7. Cloudera Oryx: Používá se hlavně pro strojové učení na datech v reálném čase. Oryx 2 je architektura, která vrství veškerou práci a vytváří systém, který dokáže reagovat na data v reálném čase. Vrstvy také pracují v různých časových rámcích, s dávkovou vrstvou, která vytváří základní model, a vrstvou rychlosti, která model upravuje, když přicházejí nová data. Oryx je postaven na vrcholu Apache Spark a vytváří celou architekturu, která implementuje všechny části aplikace.
  8. Theano: Theano je knihovna v Pythonu, která je integrována s NumPy. Toto je nejblíže k Pythonu, které můžete získat. Pokud používáte Theano, doporučujeme mít nainstalovaný gcc. Důvodem je to, že Theano může váš kód zkompilovat do nejvhodnějšího možného kódu. Zatímco Python je skvělý, v některých případech je C rychlejší. Theano tedy může převádět na C a kompilovat, aby váš program běžel rychleji. Volitelně můžete přidat podporu GPU.
  9. Tensorflow: Tenzor v názvu ukazuje na matematický tenzor. Takový tenzor má v matici 'n' místa, nicméně tenzor je vícerozměrné pole. TensorFlow má algoritmy pro výpočty pro tenzory, odtud název, můžete je volat z Pythonu. Je postaven v C a C ++, ale má front-end pro Python. Díky tomu je snadné použití a rychlý běh. Tensorflow může běžet na CPU, GPU nebo distribuován přes sítě, čeho je dosaženo výkonným modulem, který funguje jako vrstva mezi vaším kódem a procesorem.
  10. Matplotlib: Když jste přišli s problémem, který můžete vyřešit pomocí Machine Learning, budete pravděpodobně chtít vizualizovat své výsledky. To je místo, kde přichází matplotlib. Je navržen tak, aby zobrazoval hodnoty jakýchkoli matematických grafů, a je velmi používán v akademickém světě.

ZÁVĚR

Tento článek vám poskytne představu o tom, co je k dispozici pro programování ve strojovém učení. Chcete-li získat jasnou představu o tom, co potřebujete, musíte nejprve vytvořit několik programů a zjistit, jak fungují. Dokud nevíte, jak lze věci dělat, najdete perfektní řešení pro váš další projekt.

Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...
Hry Užitečné nástroje pro hráče Linuxu
Užitečné nástroje pro hráče Linuxu
Pokud rádi hrajete hry na Linuxu, je pravděpodobné, že jste ke zlepšení herního zážitku použili aplikace a nástroje jako Wine, Lutris a OBS Studio. Kr...
Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...