Kazalo[Skrij][Pokaži]
Če ste programer Python ali iščete zmogljiv komplet orodij za uvedbo strojnega učenja v produkcijski sistem, je Scikit-learn knjižnica, ki jo morate preveriti.
Scikit-learn je dobro dokumentiran in enostaven za uporabo, ne glede na to, ali ste novi v strojnem učenju, se želite hitro zagnati in zagnati ali želite uporabiti najsodobnejše orodje za raziskovanje ML.
Omogoča vam, da zgradite napovedni podatkovni model v samo nekaj vrsticah kode in nato uporabite ta model, da ustreza vašim podatkom kot knjižnico na visoki ravni. Je prilagodljiv in dobro deluje z drugimi Knjižnice Python kot je Matplotlib za grafikone, NumPy za vektorizacijo matrik in pandas za vizualizacijo podatkov.
V tem priročniku boste izvedeli vse o tem, kaj je, kako ga lahko uporabljate, skupaj z njegovimi prednostmi in slabostmi.
Kaj je Scikit-učite se?
Scikit-learn (znan tudi kot sklearn) ponuja raznolik nabor statističnih modelov in strojnega učenja. Za razliko od večine modulov je sklearn razvit v Pythonu in ne v C. Kljub temu, da je razvit v Pythonu, je učinkovitost sklearn pripisana njegovi uporabi NumPy za visoko zmogljivo linearno algebro in operacije z nizi.
Scikit-Learn je bil ustvarjen kot del Googlovega projekta Summer of Code in je od takrat poenostavil življenje milijonov podatkovnih znanstvenikov, osredotočenih na Python, po vsem svetu. Ta del serije se osredotoča na predstavitev knjižnice in osredotočanje na en element – transformacije nabora podatkov, ki so ključni in bistveni korak pred razvojem modela napovedi.
Knjižnica temelji na SciPy (Scientific Python), ki mora biti nameščen, preden lahko uporabite scikit-learn. Ta sklad vsebuje naslednje elemente:
- NumPy: Pythonov standardni paket n-dimenzionalnih nizov
- SciPy: To je temeljni paket za znanstveno računalništvo
- Pande: Podatkovne strukture in analiza
- Matplotlib: je zmogljiva knjižnica za 2D/3D risanje
- Sympy: Simbolična matematika
- IPython: Izboljšana interaktivna konzola
Aplikacije knjižnice Scikit-learn
Scikit-learn je odprtokodni paket Python s prefinjeno analizo podatkov in funkcijami rudarjenja. Na voljo je z množico vgrajenih algoritmov, ki vam pomagajo kar najbolje izkoristiti svoje projekte podatkovne znanosti. Knjižnica Scikit-learn se uporablja na naslednje načine.
1. Regresija
Regresijska analiza je statistična tehnika za analizo in razumevanje povezave med dvema ali več spremenljivkami. Metoda, ki se uporablja za regresijsko analizo, pomaga pri določanju, kateri elementi so pomembni, katere je mogoče prezreti in kako medsebojno delujejo. Regresijske tehnike se na primer lahko uporabijo za boljše razumevanje vedenja cen delnic.
Regresijski algoritmi vključujejo:
- linearna regresija
- Grebenska regresija
- Lasso regresija
- Regresija odločitvenega drevesa
- Naključni gozd
- Podporni vektorski stroji (SVM)
2. Razvrstitev
Metoda razvrščanja je pristop nadzorovanega učenja, ki uporablja podatke o usposabljanju za identifikacijo kategorije novih opazovanj. Algoritem v klasifikaciji se uči iz danega nabor podatkov ali opazovanja in nato razvrsti dodatna opazovanja v enega od številnih razredov ali skupin. Uporabljajo se lahko na primer za razvrščanje e-poštnih sporočil kot neželene pošte ali ne.
Algoritmi za razvrščanje vključujejo naslednje:
- Logistična regresija
- K-Najbližji sosedje
- Podporni vektorski stroj
- Drevo odločitve
- Naključni gozd
3. Združevanje v skupine
Algoritmi združevanja v grozde v Scikit-learn se uporabljajo za samodejno razvrščanje podatkov s podobnimi lastnostmi v nize. Združevanje v skupine je postopek združevanja nabora elementov, tako da so tisti v isti skupini bolj podobni tistim v drugih skupinah. Podatki o strankah so lahko na primer ločeni glede na njihovo lokacijo.
Algoritmi združevanja v gruče vključujejo naslednje:
- DB-SCAN
- K-Pomeni
- Mini-serijska K-sredstva
- Spektralno združevanje
4. Izbira modela
Algoritmi za izbiro modela zagotavljajo metode za primerjavo, potrjevanje in izbiro optimalnih parametrov in modelov za uporabo v pobudah podatkovne znanosti. Glede na podatke je izbira modela problem izbire statističnega modela iz skupine kandidatnih modelov. V najosnovnejših okoliščinah se upošteva že obstoječa zbirka podatkov. Vendar pa lahko naloga vključuje tudi načrtovanje eksperimentov, tako da so pridobljeni podatki dobro prilagojeni problemu izbire modela.
Moduli za izbiro modela, ki lahko izboljšajo natančnost s prilagajanjem parametrov, vključujejo:
- Navzkrižno preverjanje
- Iskanje mrež
- Meritve
5. Zmanjšanje dimenzij
Prenos podatkov iz visokodimenzionalnega prostora v prostor z nizko dimenzijo, tako da nizkodimenzionalna predstavitev ohrani nekatere pomembne vidike izvirnih podatkov, idealno blizu njihove inherentne dimenzije, je znan kot zmanjšanje dimenzij. Število naključnih spremenljivk za analizo se zmanjša, ko se zmanjša dimenzionalnost. Odstranjeni podatki se na primer morda ne štejejo za izboljšanje učinkovitosti vizualizacij.
Algoritem za zmanjšanje dimenzij vključuje naslednje:
- Izbira funkcij
- Analiza glavne komponente (PCA)
Namestitev Scikit-learn
Pred uporabo Scikit-learn je treba namestiti NumPy, SciPy, Matplotlib, IPython, Sympy in Pandas. Namestimo jih s pip iz konzole (deluje samo za Windows).
Namestimo Scikit-learn zdaj, ko smo namestili zahtevane knjižnice.
Lastnosti
Scikit-learn, včasih znan kot sklearn, je zbirka orodij Python za izvajanje modelov strojnega učenja in statističnega modeliranja. Lahko ga uporabimo za ustvarjanje več modelov strojnega učenja za regresijo, klasifikacijo in združevanje v skupine ter statistična orodja za ocenjevanje teh modelov. Vključuje tudi zmanjšanje razsežnosti, izbiro funkcij, ekstrakcijo značilnosti, ansambelske pristope in vgrajene nabore podatkov. Vsako od teh lastnosti bomo raziskali posebej.
1. Uvoz naborov podatkov
Scikit-learn vključuje številne vnaprej izdelane nabore podatkov, kot so nabor podatkov o šarenici, nabor podatkov o cenah doma, nabor podatkov Titanic itd. Ključne prednosti teh naborov podatkov so, da jih je enostavno razumeti in jih je mogoče uporabiti za takojšen razvoj modelov ML. Ti nabori podatkov so primerni za novince. Podobno lahko uporabite sklearn za uvoz dodatnih naborov podatkov. Podobno ga lahko uporabite za uvoz dodatnih naborov podatkov.
2. Razdelitev nabora podatkov za usposabljanje in testiranje
Sklearn je vključil možnost razdelitve nabora podatkov na segmente usposabljanja in testiranja. Razdelitev nabora podatkov je potrebna za nepristransko oceno uspešnosti napovedi. Lahko določimo, koliko naših podatkov je treba vključiti v nabore podatkov o vlakih in testih. Nabor podatkov smo razdelili z uporabo razdelitve preskusa vlaka, tako da nabor vlakov obsega 80 % podatkov, testni niz pa 20 %. Nabor podatkov je mogoče razdeliti na naslednji način:
3. Linearna regresija
Linearna regresija je tehnika strojnega učenja, ki temelji na nadzorovanem učenju. Izvaja regresijsko delo. Na podlagi neodvisnih spremenljivk regresija modelira vrednost napovedi cilja. Večinoma se uporablja za ugotavljanje povezave med spremenljivkami in napovedovanjem. Različni regresijski modeli se razlikujejo glede na vrsto povezave, ki jo ocenjujejo med odvisnimi in neodvisnimi spremenljivkami, pa tudi po številu uporabljenih neodvisnih spremenljivk. Model linearne regresije lahko preprosto ustvarimo z uporabo sklearna, kot sledi:
4. Logistična regresija
Pogost pristop k kategorizaciji je logistična regresija. Je v isti družini kot polinom in linearna regresija in spada v družino linearnih klasifikatorjev. Ugotovitve logistične regresije so enostavne za razumevanje in hitro izračunane. Na enak način kot linearna regresija je logistična regresija tehnika nadzorovane regresije. Izhodna spremenljivka je kategorična, tako da je to edina razlika. Lahko ugotovi, ali ima bolnik srčno bolezen ali ne.
Različne težave pri klasifikaciji, kot je odkrivanje neželene pošte, je mogoče rešiti z uporabo logistične regresije. Napovedovanje sladkorne bolezni, ugotavljanje, ali bo potrošnik kupil določen izdelek ali prešel na tekmeca, ugotavljanje, ali bo uporabnik kliknil na določeno tržno povezavo, in še veliko več scenarijev je le nekaj primerov.
5. Drevo odločitev
Najmočnejša in najpogosteje uporabljena tehnika klasifikacije in napovedi je drevo odločitev. Odločitveno drevo je drevesna struktura, ki je videti kot diagram poteka, pri čemer vsako notranje vozlišče predstavlja test za atribut, vsaka veja predstavlja zaključek testa in vsako listno vozlišče (terminalno vozlišče) ima oznako razreda.
Kadar odvisne spremenljivke nimajo linearnega razmerja z neodvisnimi spremenljivkami, tj. kadar linearna regresija ne daje pravilnih ugotovitev, so drevesa odločitev koristna. Objekt DecisionTreeRegression() se lahko uporablja na podoben način za uporabo odločitvenega drevesa za regresijo.
6. Naključni gozd
Naključni gozd je a strojno učenje pristop k reševanju vprašanj regresije in klasifikacije. Uporablja ansambelsko učenje, ki je tehnika, ki združuje več klasifikatorjev za reševanje zapletenih problemov. Metoda naključnega gozda je sestavljena iz velikega števila odločitvenih dreves. Uporablja se lahko za kategorizacijo prošenj za posojila, odkrivanje goljufivega vedenja in predvidevanje izbruhov bolezni.
7. Matrika zmede
Matrica zmede je tabela, ki se uporablja za opis uspešnosti klasifikacijskega modela. Za preučitev matrike zmede se uporabljajo naslednje štiri besede:
- Resnično pozitivno: pomeni, da je model predvidel ugoden izid in je bil pravilen.
- Resnično negativno: pomeni, da je model predvidel slab rezultat in je bil pravilen.
- Lažno pozitiven: pomeni, da je model pričakoval ugoden izid, vendar je bil v resnici negativen.
- Lažno negativen: pomeni, da je model pričakoval negativen izid, medtem ko je bil izid res pozitiven.
Izvedba matrike zmede:
Prednosti
- Je enostaven za uporabo.
- Paket Scikit-learn je izjemno prilagodljiv in uporaben, saj služi ciljem iz resničnega sveta, kot so napovedovanje vedenja potrošnikov, razvoj nevropodobe in tako naprej.
- Uporabniki, ki želijo algoritme povezati s svojimi platformami, bodo na spletni strani Scikit-learn našli podrobno dokumentacijo o API-ju.
- Številni avtorji, sodelavci in velika spletna skupnost po vsem svetu podpirajo in posodabljajo Scikit-learn.
Proti
- Ni idealna možnost za poglobljeno študijo.
zaključek
Scikit-learn je kritičen paket za vsakega podatkovnega znanstvenika, ki ga ima močan dojem in nekaj izkušenj. Ta priročnik bi vam moral pomagati pri obdelavi podatkov s pomočjo sklearna. Scikit-learn ima še veliko drugih zmožnosti, ki jih boste odkrili, ko boste napredovali skozi svojo avanturo na področju podatkovnih znanosti. Delite svoje misli v komentarjih.
Pustite Odgovori