Pregled sadržaja[Sakriti][Pokazati]
Ako ste Python programer ili tražite moćan alat za uvođenje strojnog učenja u proizvodni sustav, Scikit-learn je knjižnica koju trebate provjeriti.
Scikit-learn je dobro dokumentiran i jednostavan za korištenje, bilo da ste novi u strojnom učenju, želite se brzo pokrenuti ili želite koristiti najsuvremeniji alat za istraživanje ML-a.
Omogućuje vam da konstruirate prediktivni podatkovni model u samo nekoliko redaka koda, a zatim koristite taj model kako bi odgovarao vašim podacima kao knjižnici visoke razine. Fleksibilan je i dobro radi s drugima Python knjižnice kao što je Matplotlib za crtanje, NumPy za vektorizaciju niza i pandas za vizualizaciju podataka.
U ovom ćete vodiču saznati sve o tome što je, kako ga možete koristiti, zajedno s njegovim prednostima i nedostacima.
Što je Scikit-nauči?
Scikit-learn (također poznat kao sklearn) nudi raznolik skup statističkih modela i strojnog učenja. Za razliku od većine modula, sklearn je razvijen u Pythonu, a ne u C. Unatoč tome što je razvijen u Pythonu, učinkovitost sklearna pripisuje se njegovoj upotrebi NumPy-a za visokoučinkovitu linearnu algebru i operacije s nizovima.
Scikit-Learn je stvoren kao dio Googleovog projekta Summer of Code i od tada je pojednostavio živote milijuna znanstvenika koji se bave podacima o Python-u diljem svijeta. Ovaj dio serije usredotočen je na predstavljanje biblioteke i fokusiranje na jedan element – transformacije skupova podataka, koje su ključni i vitalni korak prije razvoja modela predviđanja.
Knjižnica se temelji na SciPy (Scientific Python), koji mora biti instaliran prije nego što možete koristiti scikit-learn. Ovaj stog sadrži sljedeće stavke:
- NumPy: Pythonov standardni paket n-dimenzionalnog niza
- SciPy: To je temeljni paket za znanstveno računanje
- Pande: Strukture podataka i analiza
- Matplotlib: To je moćna biblioteka 2D/3D crtanja
- Sympy: Simbolička matematika
- IPython: Poboljšana interaktivna konzola
Primjene knjižnice Scikit-learn
Scikit-learn je Python paket otvorenog koda sa sofisticiranom analizom podataka i značajkama rudarenja. Dolazi s mnoštvom ugrađenih algoritama koji će vam pomoći da izvučete maksimum iz svojih projekata znanosti o podacima. Knjižnica Scikit-learn koristi se na sljedeće načine.
1. Regresija
Regresijska analiza je statistička tehnika za analizu i razumijevanje veze između dvije ili više varijabli. Metoda koja se koristi za regresijsku analizu pomaže u određivanju koji su elementi relevantni, koji se mogu zanemariti i kako su u interakciji. Tehnike regresije, na primjer, mogu se koristiti za bolje razumijevanje ponašanja cijena dionica.
Algoritmi regresije uključuju:
- Linearna regresija
- Regresija grebena
- Lassova regresija
- Regresija stabla odlučivanja
- Slučajna šuma
- Potporni vektorski strojevi (SVM)
2. Klasifikacija
Metoda klasifikacije je pristup nadziranog učenja koji koristi podatke o obuci za identifikaciju kategorije novih opažanja. Algoritam u klasifikaciji uči iz datog skup podataka ili opažanja, a zatim razvrstava dodatna opažanja u jednu od mnogih klasa ili grupa. Mogu se, na primjer, koristiti za klasificiranje komunikacije e-poštom kao neželjene pošte ili ne.
Algoritmi klasifikacije uključuju sljedeće:
- Logistička regresija
- K-najbliži susjedi
- Potporni vektorski stroj
- Stablo odlučivanja
- Slučajna šuma
3. Grupiranje
Algoritmi grupiranja u Scikit-learnu koriste se za automatsko raspoređivanje podataka sličnih svojstava u skupove. Grupiranje je proces grupiranja skupa stavki tako da su oni u istoj skupini sličniji onima u drugim skupinama. Podaci o kupcima, na primjer, mogu biti odvojeni na temelju njihove lokacije.
Algoritmi grupiranja uključuju sljedeće:
- DB-SCAN
- K-znači
- Mini-serijska K-sredstva
- Spektralno grupiranje
4. Odabir modela
Algoritmi za odabir modela pružaju metode za usporedbu, provjeru valjanosti i odabir optimalnih parametara i modela za korištenje u inicijativama u znanosti o podacima. S obzirom na podatke, odabir modela je problem odabira statističkog modela iz skupine modela kandidata. U najosnovnijim okolnostima uzima se u obzir već postojeća zbirka podataka. Međutim, zadatak može uključivati i dizajn eksperimenata tako da dobiveni podaci dobro odgovaraju problemu odabira modela.
Moduli za odabir modela koji mogu poboljšati točnost podešavanjem parametara uključuju:
- Križna validacija
- Mrežno pretraživanje
- Metrika
5. Smanjenje dimenzionalnosti
Prijenos podataka iz visokodimenzionalnog prostora u niskodimenzionalni prostor tako da niskodimenzionalni prikaz čuva neke značajne aspekte izvornih podataka, idealno blizu njegove inherentne dimenzije, poznat je kao smanjenje dimenzionalnosti. Broj slučajnih varijabli za analizu se smanjuje kada se dimenzionalnost smanji. Spoljni podaci, na primjer, ne mogu se smatrati da poboljšavaju učinkovitost vizualizacija.
Algoritam za smanjenje dimenzionalnosti uključuje sljedeće:
- Odabir značajke
- Analiza glavne komponente (PCA)
Instaliranje Scikit-learn-a
NumPy, SciPy, Matplotlib, IPython, Sympy i Pandas moraju se instalirati prije korištenja Scikit-learn-a. Instalirajmo ih koristeći pip s konzole (radi samo za Windows).
Instalirajmo Scikit-learn sada kada smo instalirali potrebne biblioteke.
Značajke
Scikit-learn, ponekad poznat kao sklearn, je Python alat za implementaciju modela strojnog učenja i statističkog modeliranja. Možemo ga koristiti za stvaranje više modela strojnog učenja za regresiju, klasifikaciju i grupiranje, kao i za statističke alate za procjenu tih modela. Također uključuje smanjenje dimenzionalnosti, odabir značajki, ekstrakciju značajki, pristupe ansambla i ugrađene skupove podataka. Istražit ćemo svaku od ovih kvaliteta jednu po jednu.
1. Uvoz skupova podataka
Scikit-learn uključuje niz unaprijed izgrađenih skupova podataka, kao što su skup podataka šarenice, skup podataka o cijenama doma, skup podataka Titanic i tako dalje. Ključne prednosti ovih skupova podataka su da su jednostavni za razumijevanje i da se mogu koristiti za neposredan razvoj ML modela. Ovi skupovi podataka prikladni su za početnike. Slično, možete koristiti sklearn za uvoz dodatnih skupova podataka. Slično, možete ga koristiti za uvoz dodatnih skupova podataka.
2. Podjela skupa podataka za obuku i testiranje
Sklearn je uključio mogućnost podjele skupa podataka u segmente obuke i testiranja. Podjela skupa podataka potrebna je za nepristranu procjenu izvedbe predviđanja. Možemo odrediti koliko naših podataka treba uključiti u skupove podataka o vlakovima i testovima. Podijelili smo skup podataka pomoću podjele testa vlaka tako da skup vlakova sadrži 80% podataka, a testni skup 20%. Skup podataka može se podijeliti na sljedeći način:
3. Linearna regresija
Linearna regresija je tehnika strojnog učenja koja se temelji na nadziranom učenju. Obavlja posao regresije. Na temelju neovisnih varijabli, regresija modelira vrijednost predviđanja cilja. Uglavnom se koristi za određivanje veze između varijabli i predviđanja. Različiti regresijski modeli razlikuju se u pogledu vrste veze koju ocjenjuju između zavisnih i nezavisnih varijabli, kao i broja korištenih nezavisnih varijabli. Možemo jednostavno kreirati model linearne regresije koristeći sklearn na sljedeći način:
4. Logistička regresija
Uobičajeni pristup kategorizaciji je logistička regresija. U istoj je obitelji kao polinom i linearna regresija i pripada obitelji linearnih klasifikatora. Nalazi logističke regresije jednostavni su za razumijevanje i brzo se izračunavaju. Na isti način kao i linearna regresija, logistička regresija je tehnika nadzirane regresije. Izlazna varijabla je kategorička, pa je to jedina razlika. Može utvrditi ima li pacijent srčanu bolest ili ne.
Različiti problemi s klasifikacijom, kao što je otkrivanje neželjene pošte, mogu se riješiti pomoću logističke regresije. Predviđanje dijabetesa, određivanje hoće li potrošač kupiti određeni proizvod ili će se prebaciti na konkurenta, određivanje hoće li korisnik kliknuti na određenu marketinšku poveznicu i još mnogo scenarija samo su neki primjeri.
5. Stablo odluka
Najmoćnija i najraširenija tehnika klasifikacije i predviđanja je stablo odlučivanja. Stablo odluka je struktura stabla koja izgleda kao dijagram toka, sa svakim unutarnjim čvorom koji predstavlja test na atributu, svaka grana predstavlja zaključak testa, a svaki listni čvor (terminalni čvor) drži oznaku klase.
Kada zavisne varijable nemaju linearan odnos s nezavisnim varijablama, tj. kada linearna regresija ne daje točne nalaze, stabla odlučivanja su korisna. Objekt DecisionTreeRegression() može se koristiti na sličan način za korištenje stabla odlučivanja za regresiju.
6. Slučajna šuma
Slučajna šuma je a stroj za učenje pristup rješavanju problema regresije i klasifikacije. Koristi se ansambl učenja, što je tehnika koja kombinira više klasifikatora za rješavanje kompliciranih problema. Metoda slučajne šume sastoji se od velikog broja stabala odlučivanja. Može se koristiti za kategorizaciju zahtjeva za kredit, otkrivanje prijevarnog ponašanja i predviđanje izbijanja bolesti.
7. Matrica zabune
Matrica konfuzije je tablica koja se koristi za opisivanje izvedbe modela klasifikacije. Sljedeće četiri riječi koriste se za ispitivanje matrice zabune:
- Pravo pozitivno: Označava da je model predvidio povoljan ishod i da je bio točan.
- Pravo negativno: Označava da je model predvidio loš ishod i da je bio točan.
- Lažno pozitivan: Označava da je model očekivao povoljan ishod, ali on je zapravo bio negativan.
- Lažno negativan: Označava da je model očekivao negativan ishod, dok je ishod bio stvarno pozitivan.
Implementacija matrice zabune:
Prozodija
- Jednostavan je za korištenje.
- Paket Scikit-learn iznimno je prilagodljiv i koristan, služeći ciljevima iz stvarnog svijeta kao što su predviđanje ponašanja potrošača, razvoj neuro slike i tako dalje.
- Korisnici koji žele povezati algoritme sa svojim platformama pronaći će detaljnu API dokumentaciju na web stranici Scikit-learn.
- Brojni autori, suradnici i velika svjetska online zajednica podržavaju i održavaju Scikit-learn u tijeku.
Cons
- Nije idealna opcija za dubinsko proučavanje.
Zaključak
Scikit-learn je kritičan paket za svakog znanstvenika podataka koji treba dobro razumjeti i imati određeno iskustvo. Ovaj vodič trebao bi vam pomoći u manipulaciji podacima pomoću sklearna. Postoji mnogo više mogućnosti Scikit-learn-a koje ćete otkriti dok budete napredovali kroz svoju avanturu u znanosti o podacima. Podijelite svoja razmišljanja u komentarima.
Ostavi odgovor