Obsah[Skrýt][Ukázat]
Pokud jste programátor v Pythonu nebo pokud hledáte výkonnou sadu nástrojů, kterou byste mohli využít k zavedení strojového učení do produkčního systému, Scikit-learn je knihovna, kterou si musíte vyzkoušet.
Scikit-learn je dobře zdokumentovaný a snadno se používá, ať už jste ve strojovém učení nováčkem, chcete rychle začít pracovat nebo chcete využít nejaktuálnější nástroj pro výzkum ML.
Umožňuje vám vytvořit prediktivní datový model pouze v několika řádcích kódu a poté tento model použít, aby vyhovoval vašim datům jako knihovna na vysoké úrovni. Je flexibilní a dobře spolupracuje s ostatními Knihovny Pythonu jako Matplotlib pro vytváření grafů, NumPy pro vektorizaci polí a pandy pro vizualizaci dat.
V této příručce se dozvíte vše o tom, co to je, jak jej můžete používat, spolu s jeho klady a zápory.
Co je to Scikit-učit se?
Scikit-learn (také známý jako sklearn) nabízí rozmanitou sadu statistických modelů a strojového učení. Na rozdíl od většiny modulů je sklearn vyvíjen v Pythonu spíše než v C. Navzdory vývoji v Pythonu je účinnost sklearnu připisována jeho použití NumPy pro vysoce výkonné lineární algebry a operace s poli.
Scikit-Learn byl vytvořen jako součást projektu Summer of Code společnosti Google a od té doby zjednodušil život milionům datových vědců po celém světě zaměřených na Python. Tato část série se zaměřuje na představení knihovny a zaměřuje se na jeden prvek – transformace datových sad, které jsou klíčovým a zásadním krokem, který je třeba učinit před vývojem predikčního modelu.
Knihovna je založena na SciPy (Scientific Python), která musí být nainstalována, než budete moci používat scikit-learn. Tento zásobník obsahuje následující položky:
- NumPy: Standardní balíček n-rozměrného pole Pythonu
- SciPy: Je to základní balíček pro vědecké výpočty
- Pandy: Datové struktury a analýza
- Matplotlib: Je to výkonná knihovna pro 2D/3D vykreslování
- Sympy: Symbolická matematika
- IPython: Vylepšená interaktivní konzole
Aplikace knihovny Scikit-learn
Scikit-learn je open-source balíček Pythonu se sofistikovanými funkcemi pro analýzu dat a dolování. Dodává se s množstvím vestavěných algoritmů, které vám pomohou co nejlépe využít vaše projekty vědy o datech. Knihovna Scikit-learn se používá následujícími způsoby.
1. Regrese
Regresní analýza je statistická technika pro analýzu a pochopení souvislostí mezi dvěma nebo více proměnnými. Metoda použitá k provádění regresní analýzy pomáhá určit, které prvky jsou relevantní, které mohou být ignorovány a jak se ovlivňují. K lepšímu pochopení chování cen akcií lze použít například regresní techniky.
Mezi regresní algoritmy patří:
- Lineární regrese
- Ridge Regrese
- Lasso regrese
- Regrese rozhodovacího stromu
- Náhodný les
- Podpora vektorových strojů (SVM)
2. Klasifikace
Klasifikační metoda je přístup řízeného učení, který využívá tréninková data k identifikaci kategorie nových pozorování. Algoritmus v klasifikaci se učí z daného dataset nebo pozorování a poté klasifikuje další pozorování do jedné z mnoha tříd nebo seskupení. Mohou být například použity ke klasifikaci e-mailové komunikace jako spam nebo ne.
Klasifikační algoritmy zahrnují následující:
- Logistická regrese
- K-Nejbližší sousedé
- Podpora Vector Machine
- Rozhodovací strom
- Náhodný les
3. Shlukování
Shlukovací algoritmy v Scikit-learn se používají k automatickému uspořádání dat s podobnými vlastnostmi do sad. Shlukování je proces seskupování sady položek tak, aby položky ve stejné skupině byly podobnější těm v jiných skupinách. Zákaznická data mohou být například oddělena na základě jejich umístění.
Algoritmy shlukování zahrnují následující:
- DB-SCAN
- K-Means
- Mini-Batch K-Means
- Spektrální shlukování
4. Výběr modelu
Algoritmy výběru modelů poskytují metody pro porovnávání, ověřování a výběr optimálních parametrů a modelů pro použití v iniciativách datové vědy. Vzhledem k datům je výběr modelu problémem výběru statistického modelu ze skupiny kandidátských modelů. Za nejzákladnějších okolností se bere v úvahu již existující soubor dat. Úkol však může zahrnovat i návrh experimentů tak, aby získaná data dobře vyhovovala problému výběru modelu.
Moduly pro výběr modelu, které mohou zlepšit přesnost úpravou parametrů, zahrnují:
- Křížová validace
- Vyhledávání v mřížce
- Metrics
5. Redukce rozměrů
Přenos dat z vysokorozměrného prostoru do nízkorozměrného prostoru tak, aby nízkorozměrná reprezentace zachovala některé významné aspekty původních dat, ideálně blízké jejich vlastní dimenzi, je známý jako redukce rozměrů. Počet náhodných proměnných pro analýzu se sníží, když se sníží dimenzionalita. Například odlehlá data nelze považovat za zlepšení efektivity vizualizací.
Algoritmus redukce rozměrů zahrnuje následující:
- Výběr funkcí
- Analýza hlavních komponent (PCA)
Instalace Scikit-learn
Před použitím Scikit-learn je nutné nainstalovat NumPy, SciPy, Matplotlib, IPython, Sympy a Pandas. Nainstalujme je pomocí pip z konzole (funguje pouze pro Windows).
Nyní, když jsme nainstalovali požadované knihovny, nainstalujme Scikit-learn.
Funkce
Scikit-learn, někdy známý jako sklearn, je sada nástrojů Pythonu pro implementaci modelů strojového učení a statistického modelování. Můžeme jej použít k vytvoření více modelů strojového učení pro regresi, klasifikaci a shlukování, stejně jako statistické nástroje pro hodnocení těchto modelů. Zahrnuje také redukci rozměrů, výběr prvků, extrakci prvků, souborové přístupy a vestavěné datové sady. Budeme zkoumat každou z těchto vlastností jednu po druhé.
1. Import datových sad
Scikit-learn obsahuje řadu předpřipravených datových sad, jako je datová sada duhovky, datová sada domácích cen, titanická datová sada a tak dále. Klíčovými výhodami těchto datových sad je, že jsou snadno uchopitelné a lze je použít k okamžitému vývoji modelů ML. Tyto datové sady jsou vhodné pro nováčky. Podobně můžete použít sklearn k importu dalších datových sad. Podobně jej můžete použít k importu dalších datových sad.
2. Rozdělení datové sady pro školení a testování
Sklearn zahrnoval schopnost rozdělit datovou sadu na tréninkové a testovací segmenty. Rozdělení datové sady je nutné pro nezaujaté posouzení výkonnosti predikce. Můžeme určit, kolik našich dat by mělo být zahrnuto do datových sad vlaku a testování. Datovou sadu jsme rozdělili pomocí vlakového testovacího rozdělení tak, že vlaková sada obsahuje 80 % dat a testovací sada 20 %. Soubor dat lze rozdělit následovně:
3. Lineární regrese
Lineární regrese je technika strojového učení založená na řízeném učení. Provádí regresní práci. Na základě nezávislých proměnných modeluje regrese hodnotu predikce cíle. Většinou se používá k určení vazby mezi proměnnými a predikcí. Různé regresní modely se liší, pokud jde o typ vztahu, který vyhodnocují mezi závislými a nezávislými proměnnými, a také počtem použitých nezávislých proměnných. Model lineární regrese můžeme jednoduše vytvořit pomocí sklearnu takto:
4. Logistická regrese
Běžným přístupem kategorizace je logistická regrese. Je ve stejné rodině jako polynomiální a lineární regrese a patří do rodiny lineárních klasifikátorů. Zjištění logistické regrese jsou snadno pochopitelná a rychle vypočítatelná. Stejně jako lineární regrese je logistická regrese technikou regrese pod dohledem. Výstupní proměnná je kategorická, takže to je jediný rozdíl. Může určit, zda pacient má nebo nemá srdeční onemocnění.
Různé problémy klasifikace, jako je detekce spamu, lze vyřešit pomocí logistické regrese. Předpovídání diabetu, určení, zda si spotřebitel koupí konkrétní produkt nebo přejde ke konkurenci, určení, zda uživatel klikne na konkrétní marketingový odkaz, a mnoho dalších scénářů je jen několik příkladů.
5. Rozhodovací strom
Nejvýkonnější a nejrozšířenější technikou klasifikace a predikce je rozhodovací strom. Rozhodovací strom je stromová struktura, která vypadá jako vývojový diagram, přičemž každý vnitřní uzel představuje test atributu, každá větev představuje závěr testu a každý listový uzel (koncový uzel) nese označení třídy.
Když závislé proměnné nemají lineární vztah s nezávislými proměnnými, tj. když lineární regrese neprodukuje správná zjištění, jsou rozhodovací stromy prospěšné. Objekt DecisionTreeRegression() lze použít podobným způsobem k využití rozhodovacího stromu pro regresi.
6. Náhodný les
Náhodný les je a strojové učení přístup k řešení regresních a klasifikačních problémů. Využívá souborové učení, což je technika, která kombinuje více klasifikátorů k řešení komplikovaných problémů. Metoda náhodného lesa se skládá z velkého počtu rozhodovacích stromů. Může být použit ke kategorizaci žádostí o úvěr, odhalování podvodného chování a předvídání propuknutí onemocnění.
7. Matice zmatků
Matice zmatků je tabulka používaná k popisu výkonnosti klasifikačního modelu. Následující čtyři slova se používají ke zkoumání matoucí matice:
- Skutečně pozitivní: Znamená, že model předpokládal příznivý výsledek a byl správný.
- True Negative: Znamená, že model předpokládal špatný výsledek a byl správný.
- Falešně pozitivní: Znamená, že model očekával příznivý výsledek, ale ve skutečnosti byl negativní.
- Falešně negativní: Znamená, že model očekával negativní výsledek, zatímco výsledek byl skutečně pozitivní.
Implementace matoucí matice:
Klady
- Je to jednoduché.
- Balíček Scikit-learn je extrémně adaptabilní a užitečný a slouží skutečným cílům, jako je predikce chování spotřebitelů, vývoj neuroobrazu a tak dále.
- Uživatelé, kteří chtějí propojit algoritmy se svými platformami, najdou podrobnou dokumentaci API na webu Scikit-learn.
- Četné autory, spolupracovníci a velká celosvětová online komunita podporují a udržují Scikit-learn aktuální.
Nevýhody
- Není to ideální varianta pro hloubkové studium.
Proč investovat do čističky vzduchu?
Scikit-learn je kritickým balíčkem pro každého datového vědce, kterému musí dobře rozumět a má s ním určité zkušenosti. Tato příručka by vám měla pomoci s manipulací s daty pomocí sklearn. Existuje mnoho dalších možností Scikit-learn, které objevíte, když budete postupovat ve svém dobrodružství v oblasti datové vědy. Podělte se o své myšlenky v komentářích.
Napsat komentář