Sisällysluettelo[Piilottaa][Näytä]
Jos olet Python-ohjelmoija tai jos etsit tehokasta työkalupakkia koneoppimisen tuomiseksi tuotantojärjestelmään, Scikit-learn on kirjasto, johon sinun tulee tutustua.
Scikit-learn on hyvin dokumentoitu ja helppokäyttöinen, olitpa sitten uusi koneoppimisen parissa, haluat päästä nopeasti käyntiin tai hyödyntää uusinta ML-tutkimustyökalua.
Sen avulla voit rakentaa ennustavan tietomallin vain muutamalla koodirivillä ja käyttää sitten mallia dataasi sopivaksi korkean tason kirjastona. Se on joustava ja toimii hyvin muiden kanssa Python-kirjastot kuten Matplotlib kaavioiden tekemiseen, NumPy taulukoiden vektorointiin ja pandat tietojen visualisointiin.
Tästä oppaasta saat selville kaiken siitä, mitä se on, kuinka voit käyttää sitä, sekä sen eduista ja haitoista.
Mikä on Scikit opittava?
Scikit-learn (tunnetaan myös nimellä sklearn) tarjoaa monipuolisen joukon tilastollisia malleja ja koneoppimista. Toisin kuin useimmat moduulit, sklearn on kehitetty Pythonissa C:n sijaan. Vaikka sklearn on kehitetty Pythonissa, sen tehokkuus johtuu sen NumPyn käytöstä korkean suorituskyvyn lineaarisissa algebra- ja taulukkooperaatioissa.
Scikit-Learn luotiin osana Googlen Summer of Code -projektia, ja se on sittemmin helpottanut miljoonien Python-keskeisten datatieteilijöiden elämää eri puolilla maailmaa. Tämä sarjan osio keskittyy kirjaston esittelyyn ja keskittyy yhteen elementtiin – tietojoukkomuunnoksiin, jotka ovat keskeinen ja tärkeä askel ennen ennustemallin kehittämistä.
Kirjasto perustuu SciPyyn (Scientific Python), joka on asennettava ennen kuin voit käyttää scikit-learn-ohjelmaa. Tämä pino sisältää seuraavat kohteet:
- NumPy: Pythonin standardi n-ulotteinen taulukkopaketti
- SciPy: Se on tieteellisen laskennan peruspaketti
- Pandat: Tietorakenteet ja -analyysi
- Matplotlib: Se on tehokas 2D/3D-piirtokirjasto
- Sympy: Symbolinen matematiikka
- IPython: Parannettu interaktiivinen konsoli
Scikit-learn-kirjaston sovellukset
Scikit-learn on avoimen lähdekoodin Python-paketti, jossa on kehittyneitä tietojen analysointi- ja louhintaominaisuuksia. Siinä on lukuisia sisäänrakennettuja algoritmeja, jotka auttavat sinua saamaan kaiken irti datatieteen projekteistasi. Scikit-learn-kirjastoa käytetään seuraavilla tavoilla.
1. Regressio
Regressioanalyysi on tilastollinen tekniikka kahden tai useamman muuttujan välisen yhteyden analysoimiseksi ja ymmärtämiseksi. Regressioanalyysin tekemiseen käytetty menetelmä auttaa määrittämään, mitkä elementit ovat merkityksellisiä, mitkä voidaan jättää huomiotta ja miten ne toimivat vuorovaikutuksessa. Esimerkiksi regressiotekniikoita voidaan käyttää ymmärtämään paremmin osakekurssien käyttäytymistä.
Regressioalgoritmeihin kuuluvat:
- Lineaarinen regressio
- Ridgen regressio
- Lasso-regressio
- Päätöspuun regressio
- Satunnainen metsä
- Tuki vektorikoneille (SVM)
2. Luokittelu
Luokittelumenetelmä on valvotun oppimisen lähestymistapa, joka käyttää koulutusdataa uusien havaintojen luokan tunnistamiseen. Luokituksen algoritmi oppii tiedosta aineisto tai havaintoja ja luokittelee sitten lisähavainnot yhteen monista luokista tai ryhmistä. Niiden avulla voidaan esimerkiksi luokitella sähköpostiviestit roskapostiksi vai ei.
Luokittelualgoritmit sisältävät seuraavat:
- Logistinen regressio
- K-Lähimmät naapurit
- Tuki Vector Machine
- Päätöspuu
- Satunnainen metsä
3. Klusterit
Scikit-learnin klusterointialgoritmeja käytetään samankaltaisten ominaisuuksien tietojen automaattiseen järjestämiseen joukoiksi. Klusterointi on prosessi, jossa kohteet ryhmitellään siten, että samaan ryhmään kuuluvat ovat samankaltaisempia kuin muiden ryhmien tuotteet. Esimerkiksi asiakastiedot voidaan erottaa heidän sijainnistaan.
Klusterointialgoritmit sisältävät seuraavat:
- DB-SCAN
- K-tarkoittaa
- Mini-erä K-Means
- Spektriklusterointi
4. Mallin valinta
Mallinvalintaalgoritmit tarjoavat menetelmiä optimaalisten parametrien ja mallien vertailuun, validointiin ja valitsemiseen datatieteen aloitteissa. Datan perusteella mallin valinta on ongelma, kun valitaan tilastollinen malli ehdokasmallien joukosta. Perustapauksissa otetaan huomioon jo olemassa oleva tietokokoelma. Tehtävä voi kuitenkin sisältää myös kokeiden suunnittelua niin, että hankittu data soveltuu hyvin mallinvalintaongelmaan.
Mallinvalintamoduuleja, jotka voivat parantaa tarkkuutta säätämällä parametreja, ovat:
- Ristiinvalidointi
- Ruudukkohaku
- Metrics
5. Mittasuhteiden vähentäminen
Datan siirtoa korkeadimensionaalisesta avaruudesta pieniulotteiseen tilaan niin, että pieniulotteinen esitys säilyttää joitakin alkuperäisen datan merkittäviä puolia, ihanteellisesti lähellä sen luontaista ulottuvuutta, tunnetaan dimensioiden vähentämisenä. Analyysin satunnaismuuttujien määrä vähenee, kun ulottuvuutta pienennetään. Esimerkiksi ulkopuolisten tietojen ei voida katsoa parantavan visualisointien tehokkuutta.
Dimensioiden vähentämisalgoritmi sisältää seuraavat:
- Ominaisuuden valinta
- Pääkomponenttianalyysi (PCA)
Scikit-learnin asennus
NumPy, SciPy, Matplotlib, IPython, Sympy ja Pandas on asennettava ennen Scikit-learnin käyttöä. Asennataan ne pip:llä konsolista (toimii vain Windowsissa).
Asennamme Scikit-learnin nyt, kun olemme asentaneet tarvittavat kirjastot.
Ominaisuudet
Scikit-learn, joka tunnetaan myös nimellä sklearn, on Python-työkalusarja koneoppimismallien ja tilastollisen mallinnuksen toteuttamiseen. Voimme käyttää sitä luodaksemme useita koneoppimismalleja regressiota, luokittelua ja klusterointia varten sekä tilastollisia työkaluja näiden mallien arvioimiseksi. Se sisältää myös dimensioiden pienentämisen, ominaisuuksien valinnan, piirteiden poimimisen, ensemble-lähestymistavat ja sisäänrakennetut tietojoukot. Tutkimme jokaista näistä ominaisuuksista yksi kerrallaan.
1. Tietojoukkojen tuonti
Scikit-learn sisältää joukon valmiita tietojoukkoja, kuten iris-tietojoukon, asunnon hintatietojoukon, titanic-tietojoukon ja niin edelleen. Näiden tietokokonaisuuksien tärkeimmät edut ovat, että ne ovat helposti ymmärrettäviä ja niitä voidaan käyttää välittömästi ML-mallien kehittämiseen. Nämä tietojoukot sopivat aloittelijoille. Vastaavasti voit käyttää sklearnia lisätietojoukkojen tuomiseen. Vastaavasti voit käyttää sitä lisätietojoukkojen tuomiseen.
2. Tietojoukon jakaminen koulutusta ja testausta varten
Sklearn sisälsi mahdollisuuden jakaa tietojoukko koulutus- ja testaussegmentteihin. Tietojoukon jakaminen on tarpeen ennusteen suorituskyvyn puolueettomaksi arvioimiseksi. Voimme määrittää, kuinka paljon tiedoistamme tulee sisällyttää juna- ja testitietosarjoihin. Jaoimme tietojoukon käyttämällä junatestijakoa siten, että junajoukko käsittää 80 % tiedoista ja testijoukko 20 %. Tietojoukko voidaan jakaa seuraavasti:
3. Lineaarinen regressio
Lineaarinen regressio on valvottu oppimiseen perustuva koneoppimistekniikka. Se suorittaa regressiotyötä. Riippumattomien muuttujien perusteella regressio mallintaa tavoitteen ennustearvon. Sitä käytetään useimmiten määrittämään yhteys muuttujien ja ennustamisen välillä. Erilaiset regressiomallit eroavat toisistaan riippuvien ja riippumattomien muuttujien välisen yhteyden tyypin sekä käytettyjen riippumattomien muuttujien määrän suhteen. Voimme yksinkertaisesti luoda lineaarisen regressiomallin käyttämällä sklearnia seuraavasti:
4. Logistinen regressio
Yleinen luokittelutapa on logistinen regressio. Se kuuluu samaan perheeseen polynomin ja lineaarisen regression kanssa ja kuuluu lineaariseen luokittelijaperheeseen. Logistisen regression havainnot ovat yksinkertaisia ymmärtää ja ne ovat nopeita laskea. Samalla tavalla kuin lineaarinen regressio, logistinen regressio on valvottu regressiotekniikka. Tulosmuuttuja on kategorinen, joten se on ainoa ero. Se voi määrittää, onko potilaalla sydänsairaus vai ei.
Erilaisia luokitusongelmia, kuten roskapostin havaitseminen, voidaan ratkaista käyttämällä logistista regressiota. Diabetesennusteet, sen määrittäminen, ostaako kuluttaja tietyn tuotteen vai vaihtaako kilpailija, sen määrittäminen, napsauttaako käyttäjä tiettyä markkinointilinkkiä ja monet muut skenaariot ovat vain muutamia esimerkkejä.
5. Päätöspuu
Tehokkain ja laajimmin käytetty luokittelu- ja ennustustekniikka on päätöspuu. Päätöspuu on puurakenne, joka näyttää vuokaaviolta, jossa jokainen sisäinen solmu edustaa attribuutin testiä, jokainen haara edustaa testin johtopäätöstä ja jokainen lehtisolmu (päätesolmu) sisältää luokkatunnisteen.
Kun riippuvaisilla muuttujilla ei ole lineaarista suhdetta riippumattomien muuttujien kanssa, eli kun lineaarinen regressio ei tuota oikeita tuloksia, päätöspuut ovat hyödyllisiä. DecisionTreeRegression() -objektia voidaan käyttää samalla tavalla päätöspuun käyttämiseen regressiota varten.
6. Random Forest
Satunnainen metsä on a koneoppiminen lähestymistapa regressio- ja luokitteluongelmien ratkaisemiseen. Se hyödyntää ryhmäoppimista, joka on tekniikka, joka yhdistää useita luokituksia monimutkaisten ongelmien ratkaisemiseksi. Satunnainen metsämenetelmä koostuu suuresta määrästä päätöspuita. Sitä voidaan käyttää lainahakemusten luokitteluun, vilpillisen toiminnan havaitsemiseen ja tautien puhkeamisen ennakoimiseen.
7. Sekaannusmatriisi
Sekaannusmatriisi on taulukko, jota käytetään kuvaamaan luokitusmallin suorituskykyä. Seuraavia neljää sanaa käytetään sekaannusmatriisin tutkimiseen:
- Tosi positiivinen: Se tarkoittaa, että malli ennusti suotuisan lopputuloksen ja se oli oikea.
- Todellinen negatiivinen: Se tarkoittaa, että malli ennusti huonon tuloksen ja se oli oikea.
- Väärä positiivinen: Se tarkoittaa, että malli odotti suotuisaa lopputulosta, mutta se oli todella negatiivinen.
- Väärä negatiivinen: Se tarkoittaa, että malli odotti negatiivista tulosta, kun taas tulos oli todella positiivinen.
Hämmennysmatriisin toteutus:
Plussat
- Se on yksinkertainen käyttää.
- Scikit-learn-paketti on erittäin mukautuva ja hyödyllinen, ja se palvelee todellisia tavoitteita, kuten kuluttajakäyttäytymisen ennustamista, hermokuvan kehitystä ja niin edelleen.
- Käyttäjät, jotka haluavat yhdistää algoritmit alustoihinsa, löytävät yksityiskohtaisen API-dokumentaation Scikit-learn-verkkosivustolta.
- Lukuisat kirjailijat, yhteistyökumppanit ja suuri maailmanlaajuinen verkkoyhteisö tukevat ja pitävät Scikit-learnia ajan tasalla.
MIINUKSET
- Se ei ole ihanteellinen vaihtoehto syvälliseen opiskeluun.
Yhteenveto
Scikit-learn on kriittinen paketti jokaiselle datatieteilijälle, josta heillä on vahva käsitys ja kokemusta. Tämän oppaan pitäisi auttaa sinua käsittelemään tietoja sklearnilla. Scikit-learnissä on monia muita ominaisuuksia, jotka tulet huomaamaan edistyessäsi datatieteen seikkailussa. Jaa ajatuksesi kommenteissa.
Jätä vastaus