Indholdsfortegnelse[Skjule][At vise]
Hvis du er en Python-programmør, eller hvis du søger efter et kraftfuldt værktøjssæt til at introducere maskinlæring i et produktionssystem, er Scikit-learn et bibliotek, du skal tjekke ud.
Scikit-learn er veldokumenteret og enkel at bruge, uanset om du er ny inden for maskinlæring, ønsker at komme hurtigt i gang eller ønsker at bruge det mest opdaterede ML-forskningsværktøj.
Det giver dig mulighed for at konstruere en forudsigelig datamodel på kun et par linjer kode og bruger derefter denne model til at passe til dine data som et bibliotek på højt niveau. Det er fleksibelt og fungerer godt sammen med andre Python-biblioteker som Matplotlib til kortlægning, NumPy til array-vektorisering og pandaer til datavisualisering.
I denne guide finder du ud af alt om, hvad det er, hvordan du kan bruge det, sammen med dets fordele og ulemper.
Hvad er Scikit-lære?
Scikit-learn (også kendt som sklearn) tilbyder et mangfoldigt sæt statistiske modeller og maskinlæring. I modsætning til de fleste moduler er sklearn udviklet i Python i stedet for C. På trods af at det er udviklet i Python, tilskrives sklearns effektivitet dets brug af NumPy til højtydende lineær algebra og array-operationer.
Scikit-Learn blev skabt som en del af Googles Summer of Code-projekt og har siden gjort livet for millioner af Python-centrerede datavidenskabsmænd over hele verden enklere. Denne sektion af serien fokuserer på at præsentere biblioteket og fokusere på ét element – datasættransformationer, som er et vigtigt og afgørende skridt at tage, før man udvikler en forudsigelsesmodel.
Biblioteket er baseret på SciPy (Scientific Python), som skal installeres, før du kan bruge scikit-learn. Denne stak indeholder følgende elementer:
- NumPy: Pythons standard n-dimensionelle array-pakke
- SciPy: Det er en grundlæggende pakke til videnskabelig databehandling
- Pandaer: Datastrukturer og analyse
- Matplotlib: Det er et kraftfuldt 2D/3D-plotbibliotek
- Sympy: Symbolsk matematik
- IPython: Forbedret interaktiv konsol
Applikationer af Scikit-learn-biblioteket
Scikit-learn er en open source Python-pakke med sofistikerede dataanalyse- og minefunktioner. Den kommer med et væld af indbyggede algoritmer, der hjælper dig med at få mest muligt ud af dine datavidenskabsprojekter. Scikit-learn-biblioteket bruges på følgende måder.
1. Regression
Regressionsanalyse er en statistisk teknik til at analysere og forstå sammenhængen mellem to eller flere variable. Metoden, der bruges til at lave regressionsanalyse, hjælper med at bestemme, hvilke elementer der er relevante, hvilke der kan ignoreres, og hvordan de interagerer. Regressionsteknikker kan for eksempel bruges til bedre at forstå aktiekursernes adfærd.
Regressionsalgoritmer omfatter:
- Lineær regression
- Ridge regression
- Lasso-regression
- Regression af beslutningstræ
- Tilfældig Skov
- Support Vector Machines (SVM)
2. Klassificering
Klassifikationsmetoden er en Supervised Learning-tilgang, der bruger træningsdata til at identificere kategorien af nye observationer. En algoritme i Klassifikation lærer af en given datasæt eller observationer og klassificerer derefter yderligere observationer i en af mange klasser eller grupperinger. De kan for eksempel bruges til at klassificere e-mail-kommunikation som spam eller ej.
Klassificeringsalgoritmer omfatter følgende:
- Logistisk regression
- K-Nærmeste Naboer
- Support Vector Machine
- Beslutningstræ
- Tilfældig Skov
3. Klynger
Klyngealgoritmerne i Scikit-learn bruges til automatisk at arrangere data med lignende egenskaber i sæt. Clustering er processen med at gruppere et sæt elementer, så dem i den samme gruppe ligner dem i andre grupper. Kundedata kan for eksempel være adskilt baseret på deres placering.
Klyngealgoritmer omfatter følgende:
- DB-SCAN
- K-midler
- Mini-Batch K-Means
- Spektral klynger
4. Modelvalg
Modelvalgsalgoritmer giver metoder til at sammenligne, validere og udvælge de optimale parametre og modeller til brug i datavidenskabelige initiativer. Givet data er modelvalg problemet med at vælge en statistisk model fra en gruppe af kandidatmodeller. Under de mest basale omstændigheder tages der hensyn til en allerede eksisterende indsamling af data. Opgaven kan dog også omfatte design af forsøg, så de indsamlede data er velegnede til modeludvælgelsesproblematikken.
Modelvalgsmoduler, der kan forbedre nøjagtigheden ved at justere parametre, omfatter:
- Krydsvalidering
- Netsøgning
- Metrics
5. Dimensionalitetsreduktion
Overførslen af data fra et højdimensionelt rum til et lavdimensionelt rum, således at den lavdimensionelle repræsentation bevarer nogle væsentlige aspekter af de originale data, ideelt tæt på dets iboende dimension, er kendt som dimensionalitetsreduktion. Antallet af tilfældige variable til analyse reduceres, når dimensionaliteten reduceres. Afsidesliggende data kan for eksempel ikke anses for at forbedre effektiviteten af visualiseringer.
Dimensionalitetsreduktionsalgoritmen inkluderer følgende:
- Valg af funktion
- Principal Component Analysis (PCA)
Installation af Scikit-learn
NumPy, SciPy, Matplotlib, IPython, Sympy og Pandas skal være installeret, før du bruger Scikit-learn. Lad os installere dem ved hjælp af pip fra konsollen (virker kun til Windows).
Lad os installere Scikit-learn nu, hvor vi har installeret de nødvendige biblioteker.
Funktionalitet
Scikit-learn, nogle gange kendt som sklearn, er et Python-værktøjssæt til implementering af maskinlæringsmodeller og statistisk modellering. Vi kan bruge det til at skabe flere maskinlæringsmodeller til regression, klassificering og klyngedannelse samt statistiske værktøjer til at vurdere disse modeller. Det inkluderer også dimensionsreduktion, funktionsvalg, funktionsudtræk, ensembletilgange og indbyggede datasæt. Vi vil undersøge hver af disse kvaliteter én ad gangen.
1. Import af datasæt
Scikit-learn inkluderer en række forudbyggede datasæt, såsom iris-datasættet, boligprisdatasæt, titanic-datasæt og så videre. De vigtigste fordele ved disse datasæt er, at de er enkle at forstå og kan bruges til straks at udvikle ML-modeller. Disse datasæt er passende for begyndere. På samme måde kan du bruge sklearn til at importere yderligere datasæt. På samme måde kan du bruge det til at importere yderligere datasæt.
2. Opdeling af datasæt til træning og test
Sklearn inkluderede muligheden for at opdele datasættet i trænings- og testsegmenter. Opdeling af datasættet er påkrævet for en upartisk vurdering af forudsigelsesydelse. Vi kan angive, hvor meget af vores data, der skal inkluderes i tog- og testdatasættene. Vi opdelte datasættet ved hjælp af togtestopdeling, således at togsættet udgør 80 % af dataene, og testsættet har 20 %. Datasættet kan opdeles som følger:
3. Lineær regression
Lineær regression er en overvåget læringsbaseret maskinlæringsteknik. Den udfører et regressionsjob. Baseret på uafhængige variabler modellerer regressions en målforudsigelsesværdi. Det bruges mest til at bestemme sammenhængen mellem variable og forudsigelse. Forskellige regressionsmodeller adskiller sig med hensyn til den type sammenhæng, de evaluerer mellem afhængige og uafhængige variable, samt antallet af uafhængige variabler, der anvendes. Vi kan simpelthen oprette den lineære regressionsmodel ved hjælp af sklearn som følger:
4. Logistisk regression
En almindelig kategoriseringstilgang er logistisk regression. Det er i samme familie som polynomisk og lineær regression og tilhører den lineære klassificeringsfamilie. Resultaterne af logistisk regression er enkle at forstå og er hurtige at beregne. På samme måde som lineær regression er logistisk regression en overvåget regressionsteknik. Outputvariablen er kategorisk, så det er den eneste forskel. Det kan afgøre, om en patient har en hjertesygdom eller ej.
Forskellige klassifikationsproblemer, såsom spam-detektion, kan løses ved hjælp af logistisk regression. Diabetesprognose, afgøre, om en forbruger vil købe et bestemt produkt eller skifte til en rival, afgøre, om en bruger vil klikke på et specifikt marketinglink, og mange flere scenarier er blot nogle få eksempler.
5. Beslutningstræ
Den mest kraftfulde og mest udbredte klassifikations- og forudsigelsesteknik er beslutningstræet. Et beslutningstræ er en træstruktur, der ligner et rutediagram, hvor hver intern knude repræsenterer en test på en attribut, hver gren repræsenterer testens konklusion, og hver bladknude (terminalknude) har en klasseetiket.
Når de afhængige variable ikke har en lineær sammenhæng med de uafhængige variable, dvs. når lineær regression ikke giver korrekte resultater, er beslutningstræer gavnlige. Objektet DecisionTreeRegression() kan bruges på en lignende måde til at bruge et beslutningstræ til regression.
6. Tilfældig Skov
En tilfældig skov er en machine learning tilgang til løsning af regressions- og klassifikationsproblemer. Det gør brug af ensemble learning, som er en teknik, der kombinerer flere klassifikatorer til at løse komplicerede problemer. En tilfældig skovmetode består af et stort antal beslutningstræer. Det kan bruges til at kategorisere låneansøgninger, opdage svigagtig adfærd og forudse sygdomsudbrud.
7. Forvirringsmatrix
En forvirringsmatrix er en tabel, der bruges til at beskrive klassifikationsmodellens ydeevne. Følgende fire ord bruges til at undersøge forvirringsmatricen:
- Sandt positivt: Det betyder, at modellen forventede et gunstigt resultat, og at den var korrekt.
- Sandt negativt: Det betyder, at modellen projekterede et dårligt resultat, og at det var korrekt.
- Falsk positiv: Det betyder, at modellen forventede et gunstigt resultat, men det var virkelig et negativt.
- Falsk negativ: Det betyder, at modellen forventede et negativt resultat, mens resultatet var virkelig positivt.
Implementering af forvirringsmatrix:
FORDELE
- Det er enkelt at bruge.
- Scikit-learn-pakken er ekstremt tilpasningsdygtig og nyttig og tjener virkelige mål, såsom forudsigelse af forbrugeradfærd, udvikling af neurobilleder og så videre.
- Brugere, der ønsker at forbinde algoritmerne med deres platforme, vil finde detaljeret API-dokumentation på Scikit-learn-webstedet.
- Talrige forfattere, samarbejdspartnere og et stort verdensomspændende onlinefællesskab understøtter og holder Scikit-learn opdateret.
ULEMPER
- Det er ikke den ideelle mulighed for dybdegående undersøgelse.
Konklusion
Scikit-learn er en kritisk pakke for enhver dataforsker at have et stærkt greb om og en vis erfaring med. Denne guide skal hjælpe dig med datamanipulation ved hjælp af sklearn. Der er mange flere muligheder i Scikit-learn, som du vil opdage, når du kommer videre gennem dit datavidenskabseventyr. Del dine tanker i kommentarerne.
Giv en kommentar