Edukien aurkibidea[Ezkutatu][Erakutsi]
Python programatzailea bazara edo tresna-kit indartsu bat bilatzen ari bazara ekoizpen-sistema batean ikaskuntza automatikoa sartzeko erabiltzeko, Scikit-learn egiaztatu behar duzun liburutegia da.
Scikit-learn ondo dokumentatua eta erabiltzeko erraza da, ikaskuntza automatikoan berria izan, azkar martxan jarri nahi baduzu edo ML ikerketa-tresnarik eguneratuena erabili nahi baduzu.
Kode lerro gutxi batzuetan soilik datu-eredu iragarle bat eraikitzeko aukera ematen du eta, ondoren, eredu hori erabiltzen du zure datuei goi-mailako liburutegi gisa egokitzeko. Malgua da eta ondo funtzionatzen du besteekin Python liburutegiak bezalako Matplotlib grafikoak egiteko, NumPy array bektorializaziorako eta pandak datuak bistaratzeko.
Gida honetan zer den, nola erabil dezakezun eta bere abantailak eta txarrak ezagutuko dituzu.
Zer da Scikit-ikasi?
Scikit-learn-ek (sklearn izenez ere ezaguna) eredu estatistiko eta ikaskuntza automatikoen multzo anitza eskaintzen du. Modulu gehienetan ez bezala, sklearn Python-en garatzen da C-n beharrean. Python-en garatu den arren, sklearn-en eraginkortasuna NumPy-ren erabilerari egozten zaio errendimendu handiko aljebra lineal eta array-eragiketetarako.
Scikit-Learn Google-ren Summer of Code proiektuaren baitan sortu zen eta geroztik mundu osoko Python-en zentratutako milioika datu-zientzialariren bizitza erraztu du. Seriearen atal hau liburutegia aurkeztera eta elementu batean zentratzen da: datu-multzoen eraldaketak, iragarpen-eredu bat garatu aurretik eman beharreko urrats gako eta ezinbestekoak direnak.
Liburutegia SciPy-n (Scientific Python) oinarritzen da, eta scikit-learn erabili aurretik instalatu behar da. Pila honek elementu hauek ditu:
- NumPy: Python-en n dimentsioko array pakete estandarra
- SciPy: Informatika zientifikorako oinarrizko paketea da
- Pandak: Datuen egiturak eta analisia
- Matplotlib: 2D/3D grafikoen liburutegi indartsua da
- Sympy: Matematika sinbolikoa
- IPython: Kontsola interaktiboa hobetua
Scikit-learn liburutegiaren aplikazioak
Scikit-learn kode irekiko Python pakete bat da, datuen azterketa eta meatzaritza ezaugarri sofistikatuak dituena. Zure datu zientzien proiektuei etekinik handiena ateratzen laguntzeko algoritmo integratu ugari ditu. Scikit-learn liburutegia modu hauetan erabiltzen da.
1. Erregresioa
Erregresio-analisia bi aldagai edo gehiagoren arteko lotura aztertzeko eta ulertzeko teknika estatistikoa da. Erregresio-analisia egiteko erabiltzen den metodoak zein elementu diren garrantzitsuak, zeintzuk baztertu daitezkeen eta nola elkarreragiten duten zehazten laguntzen du. Erregresio teknikak, adibidez, erabil daitezke akzioen prezioen portaera hobeto ulertzeko.
Erregresio algoritmoak honako hauek dira:
- Erregresio lineala
- Ridge Erregresioa
- Lasso erregresioa
- Erabakien Zuhaitz Erregresioa
- Ausazko basoa
- Laguntza bektore-makinak (SVM)
2. Sailkapena
Sailkapen metodoa Behaketa berrien kategoria identifikatzeko prestakuntza-datuak erabiltzen dituen Ikaskuntza Gainbegiratua da. Sailkapeneko algoritmo batek emandako batetik ikasten du multzoaren edo behaketak eta gero behaketa osagarriak klase edo talde askotako batean sailkatzen ditu. Esaterako, posta elektronikoko komunikazioak spam gisa sailkatzeko erabil daitezke.
Sailkapen algoritmoak honako hauek dira:
- Erregresio Logistikoa
- K-Hurbilen dauden bizilagunak
- Laguntza Bektore Makina
- Erabaki Zuhaitza
- Ausazko basoa
3. Clustering
Scikit-learn-en clustering algoritmoak antzeko propietateak dituzten datuak multzoetan automatikoki antolatzeko erabiltzen dira. Clustering elementu multzo bat taldekatzeko prozesua da, talde berekoak beste taldeetakoen antzekoagoak izan daitezen. Bezeroen datuak, adibidez, bere kokapenaren arabera bereiz daitezke.
Clustering algoritmoak honako hauek dira:
- DB-ESKANEA
- K-Esanak
- Mini-Batch K-Means
- Clustering espektrala
4. Ereduaren hautaketa
Ereduak aukeratzeko algoritmoek datu zientzietako ekimenetan erabiltzeko parametro eta eredu optimoak konparatzeko, baliozkotzeko eta hautatzeko metodoak eskaintzen dituzte. Datuak kontuan hartuta, eredu-hautapena eredu estatistiko bat hautatze-modelo bat aukeratzeko arazoa da. Egoerarik oinarrizkoenetan, aurrez dagoen datu-bilketa bat hartzen da kontuan. Dena den, zereginak esperimentuen diseinua ere barne hartu dezake, lortutako datuak eredu hautatzeko arazora egokitzeko.
Parametroak doituz zehaztasuna hobetu dezaketen ereduak aukeratzeko moduluak hauek dira:
- Balio gurutzatua
- Sareta bilaketa
- Metrics
5. Dimentsio-murrizketa
Datuak dimentsio handiko espazio batetik dimentsio baxuko espazio batera transferitzea, dimentsio baxuko irudikapenak jatorrizko datuen alderdi esanguratsu batzuk gorde ditzan, hobekien berezko dimentsiotik gertu, dimentsio-murrizketa deritzo. Analisirako ausazko aldagaien kopurua murrizten da dimentsioa murrizten denean. Kanpoko datuak, adibidez, ez dira kontuan hartuko bisualizazioen eraginkortasuna hobetzeko.
Dimentsioa murrizteko algoritmoak honako hauek ditu:
- Eginbideen hautapena
- Osagai nagusien analisia (PCA)
Scikit-learn instalatzen
NumPy, SciPy, Matplotlib, IPython, Sympy eta Pandas instalatu behar dira Scikit-learn erabili aurretik. Instala ditzagun kontsolatik pip erabiliz (Windows-erako bakarrik funtzionatzen du).
Instala ditzagun Scikit-learn behar diren liburutegiak instalatu ditugula.
Ezaugarriak
Scikit-learn, batzuetan sklearn izenez ezagutzen dena, Python tresna-tresna bat da ikaskuntza automatikoko ereduak eta modelizazio estatistikoa ezartzeko. Erregresiorako, sailkapenerako eta clusteringerako ikaskuntza automatikoko eredu anitz sortzeko erabil dezakegu, baita eredu horiek ebaluatzeko tresna estatistikoak ere. Dimentsio-murrizketa, ezaugarrien hautaketa, ezaugarrien erauzketa, multzoen ikuspegiak eta integratutako datu-multzoak ere barne hartzen ditu. Ezaugarri horietako bakoitza banan-banan ikertuko dugu.
1. Datu multzoak inportatzea
Scikit-learn-ek aurrez eraikitako datu-multzo batzuk biltzen ditu, hala nola irisaren datu-multzoa, etxeko prezioen datu-multzoa, datu-multzo titanikoa eta abar. Datu-multzo hauen funtsezko abantailak ulertzeko errazak direla eta berehala ML ereduak garatzeko erabil daitezke. Datu multzo hauek hasiberrientzako egokiak dira. Era berean, sklearn erabil dezakezu datu multzo osagarriak inportatzeko. Era berean, datu multzo osagarriak inportatzeko erabil dezakezu.
2. Prestakuntza eta probak egiteko datu multzoa zatitzea
Sklearn-ek datu-multzoa prestakuntza eta proben segmentuetan banatzeko gaitasuna barne hartu zuen. Datu-multzoa zatitzea beharrezkoa da iragarpenaren errendimenduaren ebaluazio zuzena egiteko. Gure datuetatik zenbat sartu behar diren zehaztu dezakegu tren eta probako datu multzoetan. Datu-multzoa tren-test zatiketa erabiliz banatu dugu tren-multzoa datuen % 80a eta proba-multzoa % 20a izan zedin. Datu multzoa honela banatu daiteke:
3. Erregresio lineala
Erregresio lineala ikaskuntzan oinarritutako ikaskuntza automatikoko teknika bat da. Erregresio lana egiten du. Aldagai independenteetan oinarrituta, erregresioak helburu iragartzeko balio bat modelatzen du. Gehienbat aldagaien eta iragarpenaren arteko lotura zehazteko erabiltzen da. Erregresio-eredu desberdinak aldagai menpekoen eta independenteen artean ebaluatzen duten konexio-motaren arabera, baita erabilitako aldagai independenteen kopuruaren arabera ere. Erregresio lineala eredua besterik gabe sor dezakegu sklearn erabiliz, honela:
4. Erregresio logistikoa
Ohiko kategorizazio-ikuspegia erregresio logistikoa da. Erregresio polinomial eta linealaren familia berekoa da eta sailkatzaile linealaren familiakoa da. Erregresio logistikoaren aurkikuntzak errazak dira ulertzeko eta azkar kalkulatzeko. Erregresio lineala bezala, erregresio logistikoa erregresio teknika bat da. Irteerako aldagaia kategorikoa da, beraz, hori da desberdintasun bakarra. Gaixo batek bihotzeko gaixotasuna duen edo ez zehazten du.
Hainbat sailkapen-arazo, hala nola spam-a detektatzea, erregresio logistikoa erabiliz konpon daitezke. Diabetesaren iragarpena, kontsumitzaileak produktu zehatz bat erosiko duen edo arerio batengana aldatuko den zehaztea, erabiltzaileak marketin-esteka zehatz batean klik egingo duen zehaztea eta beste hainbat agertoki adibide batzuk dira.
5. Erabakien Zuhaitza
Sailkapen eta iragarpen teknikarik indartsuena eta erabiliena erabakien zuhaitza da. Erabaki-zuhaitza fluxu-diagrama baten itxura duen zuhaitz-egitura bat da, barne-nodo bakoitzak atributu baten proba bat adierazten duela, adar bakoitzak probaren ondorioa eta hosto-nodo bakoitzak (terminal-nodoa) klase etiketa duela.
Menpeko aldagaiek aldagai independenteekin erlazio lineal bat ez dutenean, hau da, erregresio linealak aurkikuntza zuzenak sortzen ez dituenean, erabaki-zuhaitzak onuragarriak dira. DecisionTreeRegression() objektua antzera erabil daiteke erregresiorako erabakien zuhaitza erabiltzeko.
6. Ausazko Basoa
Ausazko baso bat da makina ikaskuntza erregresio eta sailkapen arazoak konpontzeko planteamendua. Ensemble ikaskuntzaz baliatzen da, hau da, hainbat sailkatzaile konbinatzen dituen teknika arazo konplikatuak ebazteko. Ausazko baso-metodo bat erabaki-zuhaitz kopuru handiz osatuta dago. Mailegu-eskaerak sailkatzeko, iruzurrezko portaera detektatzeko eta gaixotasun-agerraldiak aurreikusteko erabil daiteke.
7. Nahasmen Matrizea
Nahasmen-matrizea sailkapen-ereduaren errendimendua deskribatzeko erabiltzen den taula da. Lau hitz hauek erabiltzen dira nahasmen-matrizea aztertzeko:
- Egiazko positiboa: ereduak aldeko emaitza proiektatu zuela eta zuzena izan zela adierazten du.
- Egia negatiboa: ereduak emaitza txarra proiektatu zuela eta zuzena izan zela adierazten du.
- Positibo faltsua: ereduak aldeko emaitza espero zuela adierazten du, baina benetan negatiboa izan zela.
- Negatibo faltsua: ereduak emaitza negatiboa espero zuela adierazten du, eta emaitza benetan positiboa izan zen bitartean.
Nahasmen-matrizearen ezarpena:
Pros
- Erabilera erraza da.
- Scikit-learn paketea oso moldagarria eta erabilgarria da, mundu errealeko helburuetarako, hala nola, kontsumitzaileen portaeraren iragarpena, neuroirudiaren garapena eta abar.
- Algoritmoak beren plataformekin konektatu nahi dituzten erabiltzaileek APIaren dokumentazio zehatza aurkituko dute Scikit-learn webgunean.
- Egile, kolaboratzaile eta mundu osoko sareko komunitate handi batek laguntzen dute eta Scikit-learn eguneratuta mantentzen dute.
Cons
- Ez da aukera aproposa azterketa sakona egiteko.
Ondorioa
Scikit-learn datu-zientzialari guztientzat pakete kritikoa da ezagutza sendoa eta esperientzia pixka bat izan dezan. Gida honek sklearn erabiliz datuak manipulatzen lagundu behar dizu. Scikit-learn-en askoz gaitasun gehiago daude zure datu-zientziaren abenturan aurrera egin ahala deskubrituko dituzunak. Partekatu zure pentsamenduak iruzkinetan.
Utzi erantzun bat