Obsah[Skryť][Šou]
Ak ste programátor v jazyku Python alebo ak hľadáte výkonnú súpravu nástrojov na zavedenie strojového učenia do produkčného systému, Scikit-learn je knižnica, ktorú si musíte vyskúšať.
Scikit-learn je dobre zdokumentovaný a ľahko sa používa, bez ohľadu na to, či ste novým strojovým učením, chcete rýchlo začať pracovať alebo chcete použiť najaktuálnejší nástroj na výskum ML.
Umožňuje vám zostaviť prediktívny dátový model iba v niekoľkých riadkoch kódu a potom tento model použiť, aby vyhovoval vašim dátam ako knižnica na vysokej úrovni. Je flexibilný a dobre spolupracuje s ostatnými Knižnice Pythonu ako Matplotlib na vytváranie grafov, NumPy na vektorizáciu poľa a pandy na vizualizáciu údajov.
V tejto príručke sa dozviete všetko o tom, čo to je, ako ho môžete použiť, spolu s jeho výhodami a nevýhodami.
Čo je Scikit-uč sa?
Scikit-learn (tiež známy ako sklearn) ponúka rôznorodú sadu štatistických modelov a strojového učenia. Na rozdiel od väčšiny modulov je sklearn vyvinutý v Pythone a nie v C. Napriek tomu, že bol vyvinutý v Pythone, účinnosť sklearnu sa pripisuje jeho použitiu NumPy na vysokovýkonnú lineárnu algebru a operácie s poľami.
Scikit-Learn bol vytvorený ako súčasť projektu Summer of Code spoločnosti Google a odvtedy zjednodušil životy miliónov vedcov zameraných na dáta z Pythonu na celom svete. Táto časť série sa zameriava na prezentáciu knižnice a zameranie sa na jeden prvok – transformácie množiny údajov, ktoré sú kľúčovým a zásadným krokom, ktorý je potrebné urobiť pred vývojom predikčného modelu.
Knižnica je založená na SciPy (Scientific Python), ktorá musí byť nainštalovaná pred použitím scikit-learn. Tento balík obsahuje nasledujúce položky:
- NumPy: Štandardný balík n-rozmerného poľa Pythonu
- SciPy: Je to základný balík pre vedecké výpočty
- Pandy: Dátové štruktúry a analýza
- Matplotlib: Je to výkonná knižnica 2D/3D vykresľovania
- Sympy: Symbolická matematika
- IPython: Vylepšená interaktívna konzola
Aplikácie knižnice Scikit-learn
Scikit-learn je open-source balík Python so sofistikovanou analýzou údajov a funkciami dolovania. Dodáva sa s množstvom vstavaných algoritmov, ktoré vám pomôžu vyťažiť maximum z vašich projektov vedy o údajoch. Knižnica Scikit-learn sa používa nasledujúcimi spôsobmi.
1. Regresia
Regresná analýza je štatistická technika na analýzu a pochopenie spojenia medzi dvoma alebo viacerými premennými. Metóda použitá na vykonanie regresnej analýzy pomáha pri určovaní, ktoré prvky sú relevantné, ktoré možno ignorovať a ako interagujú. Na lepšie pochopenie správania cien akcií možno použiť napríklad regresné techniky.
Regresné algoritmy zahŕňajú:
- lineárna regresia
- Ridge Regresia
- Lasova regresia
- Regresia rozhodovacieho stromu
- Náhodný les
- Podporné vektorové stroje (SVM)
2. Klasifikácia
Klasifikačná metóda je prístup kontrolovaného učenia, ktorý využíva tréningové údaje na identifikáciu kategórie nových pozorovaní. Algoritmus v klasifikácii sa učí z daného dataset alebo pozorovania a potom klasifikuje ďalšie pozorovania do jednej z mnohých tried alebo skupín. Môžu sa napríklad použiť na klasifikáciu e-mailovej komunikácie ako spamu alebo nie.
Klasifikačné algoritmy zahŕňajú nasledujúce:
- Logistická regresia
- K-Najbližší susedia
- Podporný vektorový stroj
- Rozhodovací strom
- Náhodný les
3. Zhlukovanie
Algoritmy zhlukovania v Scikit-learn sa používajú na automatické usporiadanie údajov s podobnými vlastnosťami do množín. Klastrovanie je proces zoskupovania množiny položiek tak, aby sa položky v rovnakej skupine viac podobali tým v iných skupinách. Údaje o zákazníkoch môžu byť napríklad oddelené na základe ich polohy.
Algoritmy klastrovania zahŕňajú nasledujúce:
- DB-SCAN
- K-Means
- Mini-Batch K-Means
- Spektrálne zhlukovanie
4. Výber modelu
Algoritmy výberu modelov poskytujú metódy na porovnávanie, overovanie a výber optimálnych parametrov a modelov na použitie v iniciatívach v oblasti vedy o údajoch. Vzhľadom na údaje je výber modelu problémom výberu štatistického modelu zo skupiny kandidátskych modelov. Za najzákladnejších okolností sa berie do úvahy už existujúci súbor údajov. Úloha však môže zahŕňať aj návrh experimentov tak, aby získané údaje boli vhodné pre problém výberu modelu.
Moduly na výber modelov, ktoré môžu zlepšiť presnosť úpravou parametrov, zahŕňajú:
- Krížová validácia
- Vyhľadávanie v mriežke
- Metrics
5. Zníženie rozmerov
Prenos údajov z vysokorozmerného priestoru do nízkorozmerného priestoru tak, aby nízkorozmerná reprezentácia zachovala niektoré významné aspekty pôvodných údajov, ideálne v blízkosti ich vlastnej dimenzie, je známa ako redukcia dimenzií. Počet náhodných premenných na analýzu sa zníži, keď sa zníži rozmer. Odľahlé údaje sa napríklad nemusia považovať za zlepšenie efektívnosti vizualizácií.
Algoritmus redukcie rozmerov zahŕňa nasledovné:
- Výber funkcií
- Analýza hlavných komponentov (PCA)
Inštalácia Scikit-learn
Pred použitím Scikit-learn je potrebné nainštalovať NumPy, SciPy, Matplotlib, IPython, Sympy a Pandas. Nainštalujte ich pomocou pip z konzoly (funguje iba pre Windows).
Teraz, keď sme nainštalovali požadované knižnice, nainštalujeme Scikit-learn.
Vlastnosti
Scikit-learn, niekedy známy ako sklearn, je súprava nástrojov Pythonu na implementáciu modelov strojového učenia a štatistického modelovania. Môžeme ho použiť na vytvorenie viacerých modelov strojového učenia na regresiu, klasifikáciu a zhlukovanie, ako aj na štatistické nástroje na hodnotenie týchto modelov. Zahŕňa tiež redukciu rozmerov, výber prvkov, extrakciu prvkov, súborové prístupy a vstavané súbory údajov. Budeme skúmať každú z týchto vlastností jednu po druhej.
1. Importovanie množín údajov
Scikit-learn obsahuje množstvo vopred vytvorených súborov údajov, ako je súbor údajov o dúhovke, súbor údajov o cene domu, súbor údajov titanic atď. Kľúčovými výhodami týchto súborov údajov je to, že sú ľahko uchopiteľné a možno ich použiť na okamžitý vývoj modelov ML. Tieto súbory údajov sú vhodné pre nováčikov. Podobne môžete použiť sklearn na import ďalších množín údajov. Podobne ho môžete použiť na import ďalších množín údajov.
2. Rozdelenie súboru údajov pre školenie a testovanie
Sklearn zahŕňal možnosť rozdeliť súbor údajov na tréningové a testovacie segmenty. Rozdelenie súboru údajov je potrebné na nestranné posúdenie výkonnosti predikcie. Môžeme špecifikovať, koľko našich údajov by malo byť zahrnuté v súboroch údajov o vlaku a teste. Súbor údajov sme rozdelili pomocou testovacieho rozdelenia vlaku tak, že vlaková súprava obsahuje 80 % údajov a testovacia súprava má 20 %. Súbor údajov možno rozdeliť nasledovne:
3. Lineárna regresia
Lineárna regresia je technika strojového učenia založená na riadení. Vykonáva regresnú prácu. Na základe nezávislých premenných regresia modeluje hodnotu predikcie cieľa. Väčšinou sa používa na určenie spojenia medzi premennými a predikciou. Rôzne regresné modely sa líšia, pokiaľ ide o typ prepojenia, ktoré vyhodnocujú medzi závislými a nezávislými premennými, ako aj počet použitých nezávislých premenných. Model lineárnej regresie môžeme jednoducho vytvoriť pomocou sklearn takto:
4. Logistická regresia
Bežným prístupom kategorizácie je logistická regresia. Je v rovnakej rodine ako polynomická a lineárna regresia a patrí do rodiny lineárnych klasifikátorov. Zistenia logistickej regresie sú ľahko pochopiteľné a dajú sa rýchlo vypočítať. Rovnako ako lineárna regresia, logistická regresia je technika regresie pod dohľadom. Výstupná premenná je kategorická, takže to je jediný rozdiel. Môže určiť, či pacient má alebo nemá srdcové ochorenie.
Rôzne problémy klasifikácie, ako je detekcia spamu, možno vyriešiť pomocou logistickej regresie. Predpovedanie diabetu, určenie, či si spotrebiteľ kúpi konkrétny produkt alebo prejde ku konkurencii, určenie, či používateľ klikne na konkrétny marketingový odkaz, a mnoho ďalších scenárov je len niekoľko príkladov.
5. Rozhodovací strom
Najvýkonnejšou a najpoužívanejšou technikou klasifikácie a predikcie je rozhodovací strom. Rozhodovací strom je stromová štruktúra, ktorá vyzerá ako vývojový diagram, pričom každý vnútorný uzol predstavuje test atribútu, každá vetva predstavuje záver testu a každý listový uzol (koncový uzol) obsahuje označenie triedy.
Keď závislé premenné nemajú lineárny vzťah s nezávislými premennými, tj keď lineárna regresia neprináša správne zistenia, rozhodovacie stromy sú prospešné. Objekt DecisionTreeRegression() možno použiť podobným spôsobom na využitie rozhodovacieho stromu na regresiu.
6. Náhodný les
Náhodný les je a strojové učenie prístup k riešeniu problémov regresie a klasifikácie. Využíva súborové učenie, čo je technika, ktorá kombinuje viacero klasifikátorov na riešenie zložitých problémov. Metóda náhodného lesa sa skladá z veľkého počtu rozhodovacích stromov. Môže sa použiť na kategorizáciu žiadostí o pôžičku, odhaľovanie podvodného správania a predvídanie prepuknutia chorôb.
7. Matica zmätku
Matica zmätku je tabuľka používaná na opis výkonnosti klasifikačného modelu. Nasledujúce štyri slová sa používajú na preskúmanie matice zmätku:
- Skutočne pozitívny: Znamená, že model predpokladal priaznivý výsledok a bol správny.
- Skutočne negatívny: Znamená, že model predpokladal zlý výsledok a bol správny.
- Falošne pozitívny: Znamená, že model očakával priaznivý výsledok, ale v skutočnosti bol negatívny.
- Falošný negatívny: Znamená, že model očakával negatívny výsledok, zatiaľ čo výsledok bol skutočne pozitívny.
Implementácia matíc:
Pros
- Je to jednoduché použitie.
- Balík Scikit-learn je mimoriadne prispôsobivý a užitočný a slúži skutočným cieľom, ako je predikcia správania spotrebiteľov, vývoj neuroobrazu atď.
- Používatelia, ktorí chcú prepojiť algoritmy so svojimi platformami, nájdu podrobnú dokumentáciu API na webovej stránke Scikit-learn.
- Mnohí autori, spolupracovníci a veľká celosvetová online komunita podporujú a udržiavajú Scikit-learn aktualizovaný.
Zápory
- Nie je to ideálna možnosť pre hĺbkové štúdium.
záver
Scikit-learn je kritickým balíkom pre každého dátového vedca, ktorý musí dobre pochopiť a má s ním určité skúsenosti. Táto príručka by vám mala pomôcť s manipuláciou s údajmi pomocou sklearn. Existuje mnoho ďalších možností Scikit-learn, ktoré objavíte, keď budete postupovať vo svojom dobrodružstve v oblasti vedy o údajoch. Podeľte sa o svoje myšlienky v komentároch.
Nechaj odpoveď