Saturs[Paslēpt][Rādīt]
Ja esat Python programmētājs vai ja meklējat jaudīgu rīku komplektu, ko izmantot, lai ražošanas sistēmā ieviestu mašīnmācīšanos, Scikit-learn ir bibliotēka, kas jums jāpārbauda.
Scikit-learn ir labi dokumentēts un vienkārši lietojams neatkarīgi no tā, vai esat iesācējs mašīnmācībā, vēlaties ātri sākt darbu vai izmantot visjaunāko ML izpētes rīku.
Tas ļauj jums izveidot paredzamo datu modeli tikai dažās koda rindās un pēc tam izmanto šo modeli, lai tie atbilstu jūsu datiem kā augsta līmeņa bibliotēkai. Tas ir elastīgs un labi darbojas ar citiem Python bibliotēkas piemēram, Matplotlib diagrammu veidošanai, NumPy masīvu vektorizācijai un pandas datu vizualizācijai.
Šajā rokasgrāmatā jūs uzzināsit visu par to, kas tas ir, kā to izmantot, kā arī par to plusiem un mīnusiem.
Kas ir Scikit-mācīties?
Scikit-learn (pazīstams arī kā sklearn) piedāvā dažādus statistikas modeļus un mašīnmācīšanos. Atšķirībā no vairuma moduļu, sklearn ir izstrādāts Python, nevis C. Neskatoties uz to, ka sklearn ir izstrādāts Python, sklearn efektivitāte ir saistīta ar tā NumPy izmantošanu augstas veiktspējas lineārās algebras un masīvu operācijām.
Scikit-Learn tika izveidots kā daļa no Google projekta Summer of Code, un kopš tā laika tas ir padarījis dzīvi miljoniem uz Python orientētu datu zinātnieku dzīvi visā pasaulē. Šī sērijas sadaļa ir vērsta uz bibliotēkas prezentāciju un koncentrējas uz vienu elementu – datu kopas transformācijām, kas ir galvenais un būtisks solis, kas jāveic pirms prognozēšanas modeļa izstrādes.
Bibliotēkas pamatā ir SciPy (Scientific Python), kas ir jāinstalē, lai varētu izmantot scikit-learn. Šajā kaudzē ir šādi vienumi:
- NumPy: Python standarta n-dimensiju masīva pakotne
- SciPy: tā ir būtiska zinātniskās skaitļošanas pakotne
- Pandas: datu struktūras un analīze
- Matplotlib: tā ir jaudīga 2D/3D diagrammu bibliotēka
- Sympy: Simboliskā matemātika
- IPython: uzlabota interaktīvā konsole
Scikit-learn bibliotēkas lietojumprogrammas
Scikit-learn ir atvērtā koda Python pakotne ar izsmalcinātām datu analīzes un ieguves funkcijām. Tam ir daudz iebūvētu algoritmu, kas palīdzēs jums maksimāli izmantot datu zinātnes projektus. Scikit-learn bibliotēka tiek izmantota šādos veidos.
1. Regresija
Regresijas analīze ir statistikas paņēmiens, lai analizētu un izprastu saistību starp diviem vai vairākiem mainīgajiem. Regresijas analīzes veikšanai izmantotā metode palīdz noteikt, kuri elementi ir būtiski, kurus var ignorēt un kā tie mijiedarbojas. Piemēram, regresijas metodes var izmantot, lai labāk izprastu akciju cenu uzvedību.
Regresijas algoritmi ietver:
- Linear Regression
- Ridža regresija
- Laso regresija
- Lēmumu koka regresija
- Nejaušais mežs
- Atbalsta vektora mašīnas (SVM)
2. Klasifikācija
Klasifikācijas metode ir uzraudzītas mācīšanās pieeja, kas izmanto apmācības datus, lai noteiktu jaunu novērojumu kategoriju. Klasifikācijas algoritms mācās no dotā datu kopa vai novērojumus un pēc tam klasificē papildu novērojumus vienā no daudzajām klasēm vai grupām. Piemēram, tos var izmantot, lai klasificētu e-pasta ziņojumus kā surogātpastu vai ne.
Klasifikācijas algoritmi ietver:
- Loģistiskā regresija
- K-Tuvākie kaimiņi
- Atbalstiet vektoru mašīnu
- Lēmumu koks
- Nejaušais mežs
3. Klasterizācija
Scikit-learn klasterizācijas algoritmi tiek izmantoti, lai datus ar līdzīgām īpašībām automātiski sakārtotu kopās. Klasterizācija ir vienumu kopas grupēšanas process, lai tajā pašā grupā esošie būtu līdzīgāki citās grupās esošajiem. Piemēram, klientu datus var atdalīt, pamatojoties uz viņu atrašanās vietu.
Klasterizācijas algoritmi ietver šādus:
- DB-SCAN
- K-līdzekļi
- Mini-partijas K-līdzekļi
- Spektrālā klasterizācija
4. Modeļa izvēle
Modeļu atlases algoritmi nodrošina metodes optimālo parametru un modeļu salīdzināšanai, apstiprināšanai un atlasei datu zinātnes iniciatīvās. Ņemot vērā datus, modeļa atlase ir problēma, kā izvēlēties statistisko modeli no kandidātu modeļu grupas. Visvienkāršākajos apstākļos tiek ņemta vērā jau esoša datu kolekcija. Tomēr uzdevums var ietvert arī eksperimentu izstrādi, lai iegūtie dati būtu labi piemēroti modeļa izvēles problēmai.
Modeļu atlases moduļi, kas var uzlabot precizitāti, pielāgojot parametrus, ietver:
- Savstarpēja validācija
- Režģa meklēšana
- Metrika
5. Izmēru samazināšana
Datu pārsūtīšana no augstas dimensijas telpas uz zemas dimensijas telpu, lai zemas dimensijas attēlojums saglabātu dažus nozīmīgus sākotnējo datu aspektus, ideālā gadījumā tuvu to raksturīgajai dimensijai, ir pazīstama kā dimensiju samazināšana. Analizējamo nejaušo mainīgo skaits tiek samazināts, samazinot dimensiju. Piemēram, nevar uzskatīt, ka ārējie dati uzlabo vizualizāciju efektivitāti.
Dimensiju samazināšanas algoritms ietver:
- Funkcijas izvēle
- Galveno komponentu analīze (PCA)
Scikit-learn instalēšana
Pirms Scikit-learn izmantošanas ir jāinstalē NumPy, SciPy, Matplotlib, IPython, Sympy un Pandas. Instalēsim tos, izmantojot pip no konsoles (darbojas tikai operētājsistēmā Windows).
Instalēsim Scikit-learn tagad, kad esam instalējuši vajadzīgās bibliotēkas.
Apkalpošana
Scikit-learn, dažreiz pazīstams kā sklearn, ir Python rīku komplekts mašīnmācīšanās modeļu un statistiskās modelēšanas ieviešanai. Mēs varam to izmantot, lai izveidotu vairākus mašīnmācīšanās modeļus regresijai, klasifikācijai un klasteru veidošanai, kā arī statistikas rīkus šo modeļu novērtēšanai. Tas ietver arī izmēru samazināšanu, funkciju atlasi, funkciju izvilkšanu, ansambļa pieejas un iebūvētās datu kopas. Mēs izpētīsim katru no šīm īpašībām pa vienam.
1. Datu kopu importēšana
Scikit-learn ietver vairākas iepriekš izveidotas datu kopas, piemēram, varavīksnenes datu kopa, mājas cenu datu kopa, titānika datu kopa un tā tālāk. Šo datu kopu galvenās priekšrocības ir tādas, ka tās ir vienkārši uztveramas un tās var izmantot, lai nekavējoties izstrādātu ML modeļus. Šīs datu kopas ir piemērotas iesācējiem. Tāpat varat izmantot sklearn, lai importētu papildu datu kopas. Tāpat varat to izmantot, lai importētu papildu datu kopas.
2. Datu kopas sadalīšana apmācībai un pārbaudei
Sklearn ietvēra iespēju sadalīt datu kopu apmācības un testēšanas segmentos. Datu kopas sadalīšana ir nepieciešama, lai objektīvi novērtētu prognozēšanas veiktspēju. Mēs varam norādīt, cik daudz mūsu datu ir jāiekļauj vilcienu un testa datu kopās. Mēs sadalījām datu kopu, izmantojot vilcienu pārbaudes sadalījumu, lai vilcienu komplektā būtu 80% datu un testa komplektā būtu 20%. Datu kopu var sadalīt šādi:
3. Lineārā regresija
Lineārā regresija ir uzraudzīta, uz mācīšanos balstīta mašīnmācīšanās tehnika. Tas veic regresijas darbu. Pamatojoties uz neatkarīgiem mainīgajiem, regresija modelē mērķa prognozēšanas vērtību. To galvenokārt izmanto, lai noteiktu saikni starp mainīgajiem un prognozēšanu. Dažādi regresijas modeļi atšķiras atkarībā no saiknes veida, ko tie novērtē starp atkarīgajiem un neatkarīgajiem mainīgajiem, kā arī izmantoto neatkarīgo mainīgo skaitu. Mēs varam vienkārši izveidot lineārās regresijas modeli, izmantojot sklearn šādi:
4. Loģistiskā regresija
Izplatīta kategorizēšanas pieeja ir loģistiskā regresija. Tas ietilpst tajā pašā saimē ar polinomu un lineāro regresiju un pieder lineāro klasifikatoru saimei. Loģistiskās regresijas secinājumi ir viegli uztverami un ātri aprēķināmi. Tāpat kā lineārā regresija, loģistiskā regresija ir uzraudzīta regresijas metode. Izvades mainīgais ir kategorisks, tāpēc tā ir vienīgā atšķirība. Tas var noteikt, vai pacientam ir vai nav sirds slimība.
Dažādas klasifikācijas problēmas, piemēram, surogātpasta atklāšanu, var atrisināt, izmantojot loģistikas regresiju. Diabēta prognozēšana, noteikšana, vai patērētājs iegādāsies konkrētu produktu vai pāries uz konkurentu, noteikšana, vai lietotājs noklikšķinās uz konkrētas mārketinga saites, un daudzi citi scenāriji ir tikai daži piemēri.
5. Lēmumu koks
Visspēcīgākais un visplašāk izmantotais klasifikācijas un prognozēšanas paņēmiens ir lēmumu koks. Lēmumu koks ir koka struktūra, kas izskatās kā blokshēma, un katrs iekšējais mezgls attēlo atribūta testu, katrs zars apzīmē testa secinājumu un katrs lapas mezgls (termināla mezgls) satur klases etiķeti.
Ja atkarīgajiem mainīgajiem nav lineāras attiecības ar neatkarīgiem mainīgajiem, ti, ja lineārā regresija nesniedz pareizus secinājumus, lēmumu koki ir noderīgi. Objektu DecisionTreeRegression() var izmantot līdzīgā veidā, lai izmantotu lēmumu koku regresijai.
6. Random Forest
Nejaušs mežs ir a mašīna mācīšanās pieeja regresijas un klasifikācijas jautājumu risināšanai. Tas izmanto ansambļa mācīšanos, kas ir paņēmiens, kas apvieno vairākus klasifikatorus, lai atrisinātu sarežģītas problēmas. Nejauši izvēlēta meža metode sastāv no liela skaita lēmumu koku. To var izmantot, lai klasificētu aizdevuma pieteikumus, atklātu krāpniecisku rīcību un paredzētu slimību uzliesmojumus.
7. Apjukuma matrica
Sajaukšanas matrica ir tabula, ko izmanto, lai aprakstītu klasifikācijas modeļa veiktspēju. Lai pārbaudītu neskaidrības matricu, tiek izmantoti šādi četri vārdi:
- Patiesi pozitīvi: tas nozīmē, ka modelis paredzēja labvēlīgu iznākumu un tas bija pareizs.
- Patiess negatīvs: tas nozīmē, ka modelis paredzēja sliktu iznākumu un tas bija pareizs.
- Viltus pozitīvs: tas nozīmē, ka modelis gaidīja labvēlīgu iznākumu, bet tas tiešām bija negatīvs.
- Viltus negatīvs: tas nozīmē, ka modelis gaidīja negatīvu iznākumu, bet rezultāts bija patiešām pozitīvs.
Sajaukšanas matricas ieviešana:
Plusi
- Tas ir vienkārši lietojams.
- Scikit-learn pakotne ir ļoti pielāgojama un noderīga, un tā kalpo reālas pasaules mērķiem, piemēram, patērētāju uzvedības prognozēšanai, neiroattēlu izstrādei un tamlīdzīgi.
- Lietotāji, kuri vēlas savienot algoritmus ar savām platformām, Scikit-learn vietnē atradīs detalizētu API dokumentāciju.
- Daudzi autori, līdzstrādnieki un liela vispasaules tiešsaistes kopiena atbalsta un atjaunina Scikit-learn.
Mīnusi
- Tas nav ideāls risinājums padziļinātai izpētei.
Secinājumi
Scikit-learn ir svarīga pakete, kas ikvienam datu zinātniekam ir laba izpratne un zināma pieredze. Šai rokasgrāmatai vajadzētu palīdzēt manipulēt ar datiem, izmantojot sklearn. Ir daudz vairāk Scikit-learn iespēju, kuras atklāsiet, progresējot datu zinātnes piedzīvojumā. Dalieties savās domās komentāros.
Atstāj atbildi