INHOUDSOPGAWE[Versteek][Wys]
As jy 'n Python-programmeerder is of as jy op soek is na 'n kragtige gereedskapstel om te gebruik om masjienleer in 'n produksiestelsel in te voer, is Scikit-learn 'n biblioteek wat jy moet nagaan.
Scikit-learn is goed gedokumenteer en maklik om te gebruik, of jy nuut is met masjienleer, vinnig aan die gang wil kom, of die mees onlangse ML-navorsingsinstrument wil gebruik.
Dit laat jou toe om 'n voorspellende datamodel in slegs 'n paar reëls kode te bou en gebruik dan daardie model om jou data as 'n hoëvlak-biblioteek te pas. Dit is buigsaam en werk goed saam met ander Python biblioteke soos Matplotlib vir kartering, NumPy vir skikkingsvektorisering, en pandas vir datavisualisering.
In hierdie gids sal jy alles uitvind oor wat dit is, hoe jy dit kan gebruik, tesame met die voor- en nadele daarvan.
Wat is Scikit-leer?
Scikit-learn (ook bekend as sklearn) bied 'n diverse stel statistiese modelle en masjienleer. Anders as die meeste modules, word sklearn in Python eerder as C ontwikkel. Ten spyte daarvan dat dit in Python ontwikkel is, word die doeltreffendheid van sklearn toegeskryf aan die gebruik van NumPy vir hoëprestasie lineêre algebra en skikkingsbewerkings.
Scikit-Learn is geskep as deel van Google se Summer of Code-projek en het sedertdien die lewens van miljoene Python-gesentreerde datawetenskaplikes regoor die wêreld eenvoudiger gemaak. Hierdie afdeling van die reeks fokus op die aanbieding van die biblioteek en fokus op een element – datasteltransformasies, wat 'n sleutel en noodsaaklike stap is om te neem voordat 'n voorspellingsmodel ontwikkel word.
Die biblioteek is gebaseer op SciPy (Scientific Python), wat geïnstalleer moet word voordat jy scikit-learn kan gebruik. Hierdie stapel bevat die volgende items:
- NumPy: Python se standaard n-dimensionele skikking pakket
- SciPy: Dit is 'n fundamentele pakket vir wetenskaplike rekenaars
- Pandas: Datastrukture en analise
- Matplotlib: Dit is 'n kragtige 2D/3D plot biblioteek
- Simpy: Simboliese wiskunde
- IPython: Verbeterde interaktiewe konsole
Toepassings van die Scikit-leer-biblioteek
Scikit-learn is 'n oopbron Python-pakket met gesofistikeerde data-analise en mynfunksies. Dit kom met 'n oorvloed van ingeboude algoritmes om jou te help om die meeste uit jou datawetenskapprojekte te kry. Die Scikit-leer-biblioteek word op die volgende maniere gebruik.
1. Regressie
Regressie-analise is 'n statistiese tegniek om die verband tussen twee of meer veranderlikes te ontleed en te begryp. Die metode wat gebruik word om regressie-analise te doen, help om te bepaal watter elemente relevant is, wat geïgnoreer kan word, en hoe hulle interaksie het. Regressietegnieke kan byvoorbeeld gebruik word om die gedrag van aandeelpryse beter te verstaan.
Regressie-algoritmes sluit in:
- lineêre regressie
- Ridge-regressie
- Lasso-regressie
- Besluitboomregressie
- Random Forest
- Ondersteun vektormasjiene (SVM)
2. Klassifikasie
Die Klassifikasiemetode is 'n Toesighoudende Leerbenadering wat opleidingsdata gebruik om die kategorie van vars waarnemings te identifiseer. 'n Algoritme in Klassifikasie leer uit 'n gegewe dataset of waarnemings en klassifiseer dan bykomende waarnemings in een van baie klasse of groeperings. Hulle kan byvoorbeeld gebruik word om e-poskommunikasie as strooipos te klassifiseer of nie.
Klassifikasie-algoritmes sluit die volgende in:
- Logistieke regressie
- K-Naaste bure
- Ondersteun vektormasjien
- Besluitboom
- Random Forest
3. Groepering
Die groeperingsalgoritmes in Scikit-learn word gebruik om data met soortgelyke eienskappe outomaties in stelle te rangskik. Groepering is die proses om 'n stel items te groepeer sodat diegene in dieselfde groep meer soortgelyk is aan dié in ander groepe. Kliëntdata kan byvoorbeeld geskei word op grond van hul ligging.
Groeperingsalgoritmes sluit die volgende in:
- DB-SCAN
- K-Beteken
- Mini-Joernaal K-Beteken
- Spektrale groepering
4. Modelkeuse
Modelseleksie-algoritmes verskaf metodes om die optimale parameters en modelle vir gebruik in datawetenskap-inisiatiewe te vergelyk, te valideer en te kies. Gegewe data, is modelkeuse die probleem om 'n statistiese model uit 'n groep kandidaatmodelle te kies. In die mees basiese omstandighede word 'n voorafbestaande versameling van data in ag geneem. Die taak kan egter ook die ontwerp van eksperimente insluit sodat die data wat verkry is goed geskik is vir die modelkeuseprobleem.
Modelkeusemodules wat akkuraatheid kan verbeter deur parameters aan te pas, sluit in:
- Cross-validering
- Roostersoektog
- Statistieke
5. Dimensionaliteitvermindering
Die oordrag van data van 'n hoë-dimensionele ruimte na 'n lae-dimensionele ruimte sodat die lae-dimensionele voorstelling 'n paar beduidende aspekte van die oorspronklike data bewaar, ideaal naby die inherente dimensie daarvan, staan bekend as dimensionaliteitsvermindering. Die aantal ewekansige veranderlikes vir analise word verminder wanneer die dimensionaliteit verminder word. Afgeleë data kan byvoorbeeld nie oorweeg word om die doeltreffendheid van visualisering te verbeter nie.
Dimensionaliteitverminderingsalgoritme sluit die volgende in:
- Funksie seleksie
- Hoofkomponentontleding (PCA)
Installeer Scikit-leer
NumPy, SciPy, Matplotlib, IPython, Simpy en Pandas moet geïnstalleer word voordat Scikit-learn gebruik word. Kom ons installeer hulle met behulp van pip vanaf die konsole (werk net vir Windows).
Kom ons installeer Scikit-leer noudat ons die vereiste biblioteke geïnstalleer het.
Kenmerke
Scikit-learn, soms bekend as sklearn, is 'n Python-gereedskapstel vir die implementering van masjienleermodelle en statistiese modellering. Ons kan dit gebruik om veelvuldige masjienleermodelle vir regressie, klassifikasie en groepering te skep, sowel as statistiese instrumente om hierdie modelle te assesseer. Dit sluit ook dimensionaliteitvermindering, kenmerkkeuse, kenmerkonttrekking, ensemblebenaderings en ingeboude datastelle in. Ons sal elkeen van hierdie eienskappe een op 'n slag ondersoek.
1. Die invoer van datastelle
Scikit-learn sluit 'n aantal voorafgeboude datastelle in, soos die iris-datastel, huisprysdatastel, titaniese datastel, ensovoorts. Die belangrikste voordele van hierdie datastelle is dat dit maklik is om te begryp en gebruik kan word om onmiddellik ML-modelle te ontwikkel. Hierdie datastelle is geskik vir beginners. Net so kan jy sklearn gebruik om bykomende datastelle in te voer. Net so kan jy dit gebruik om bykomende datastelle in te voer.
2. Verdeel datastel vir opleiding en toetsing
Sklearn het die vermoë ingesluit om die datastel in opleiding- en toetssegmente te verdeel. Die verdeling van die datastel is nodig vir 'n onbevooroordeelde assessering van voorspellingsprestasie. Ons kan spesifiseer hoeveel van ons data by die trein- en toetsdatastelle ingesluit moet word. Ons het die datastel met behulp van treintoetsverdeling verdeel sodat die treinstel 80% van die data uitmaak en die toetsstel 20%. Die datastel kan soos volg verdeel word:
3. Lineêre regressie
Lineêre regressie is 'n leergebaseerde masjienleertegniek onder toesig. Dit voer 'n regressiewerk uit. Gebaseer op onafhanklike veranderlikes, modelleer regressie 'n doelvoorspellingswaarde. Dit word meestal gebruik om die verband tussen veranderlikes en voorspelling te bepaal. Verskillende regressiemodelle verskil in terme van die tipe verband wat hulle evalueer tussen afhanklike en onafhanklike veranderlikes, asook die aantal onafhanklike veranderlikes wat benut word. Ons kan eenvoudig die lineêre regressie-model skep deur sklearn soos volg te gebruik:
4. Logistiese regressie
'n Algemene kategoriseringsbenadering is logistiese regressie. Dit is in dieselfde familie as polinoom en lineêre regressie en behoort aan die lineêre klassifiseerder familie. Die bevindinge van logistiese regressie is maklik om te begryp en is vinnig om te bereken. Op dieselfde manier as lineêre regressie, is logistiese regressie 'n regressietegniek onder toesig. Die uitsetveranderlike is kategories, so dit is die enigste verskil. Dit kan bepaal of 'n pasiënt 'n hartsiekte het of nie.
Verskeie klassifikasiekwessies, soos spam-opsporing, kan opgelos word deur logistieke regressie te gebruik. Diabetesvoorspelling, om te bepaal of 'n verbruiker 'n spesifieke produk sal koop of na 'n mededinger sal oorskakel, om te bepaal of 'n gebruiker op 'n spesifieke bemarkingskakel sal klik, en nog vele meer scenario's is net 'n paar voorbeelde.
5. Besluitboom
Die kragtigste en mees gebruikte klassifikasie- en voorspellingstegniek is die besluitboom. 'n Besluitboom is 'n boomstruktuur wat soos 'n vloeidiagram lyk, met elke interne knoop wat 'n toets op 'n eienskap verteenwoordig, elke tak wat die toets se gevolgtrekking verteenwoordig, en elke blaarknoop (terminale knoop) wat 'n klasetiket hou.
Wanneer die afhanklike veranderlikes nie 'n lineêre verwantskap met die onafhanklike veranderlikes het nie, maw wanneer lineêre regressie nie korrekte bevindings lewer nie, is besluitnemingsbome voordelig. Die DecisionTreeRegression() voorwerp kan op 'n soortgelyke manier gebruik word om 'n besluitboom vir regressie te gebruik.
6. Random Forest
'n Willekeurige woud is 'n machine learning benadering vir die oplossing van regressie- en klassifikasiekwessies. Dit maak gebruik van ensemble-leer, wat 'n tegniek is wat veelvuldige klassifiseerders kombineer om ingewikkelde probleme op te los. 'n Ewekansige woudmetode bestaan uit 'n groot aantal besluitnemingbome. Dit kan gebruik word om leningsaansoeke te kategoriseer, bedrieglike gedrag op te spoor en siekte-uitbrekings te verwag.
7. Verwarringsmatriks
'n Verwarringsmatriks is 'n tabel wat gebruik word om klassifikasiemodelprestasie te beskryf. Die volgende vier woorde word gebruik om die verwarringsmatriks te ondersoek:
- Ware Positief: Dit dui aan dat die model 'n gunstige uitkoms geprojekteer het en dit was korrek.
- Ware Negatief: Dit dui daarop dat die model 'n slegte uitkoms geprojekteer het en dit was korrek.
- Vals Positief: Dit dui daarop dat die model 'n gunstige uitkoms verwag het, maar dit was regtig 'n negatiewe een.
- Vals Negatief: Dit dui daarop dat die model 'n negatiewe uitkoms verwag het, terwyl die uitkoms werklik positief was.
Verwarringsmatriks implementering:
Pros
- Dit is eenvoudig om te gebruik.
- Die Scikit-leer-pakket is uiters aanpasbaar en bruikbaar, en dien werklike doelwitte soos verbruikersgedragvoorspelling, neurobeeldontwikkeling, ensovoorts.
- Gebruikers wat die algoritmes met hul platforms wil koppel, sal gedetailleerde API-dokumentasie op die Scikit-leer-webwerf vind.
- Talle skrywers, medewerkers en 'n groot wêreldwye aanlyn gemeenskap ondersteun en hou Scikit-leer op datum.
Nadele
- Dit is nie die ideale opsie vir in-diepte studie nie.
Gevolgtrekking
Scikit-learn is 'n kritieke pakket vir elke datawetenskaplike om 'n sterk begrip van en 'n bietjie ervaring mee te hê. Hierdie gids behoort jou te help met datamanipulasie deur sklearn te gebruik. Daar is baie meer vermoëns van Scikit-leer wat jy sal ontdek soos jy deur jou datawetenskap-avontuur vorder. Deel jou gedagtes in die kommentaar.
Lewer Kommentaar