Innehållsförteckning[Dölj][Visa]
Om du är en Python-programmerare eller om du letar efter en kraftfull verktygslåda att använda för att introducera maskininlärning i ett produktionssystem, är Scikit-learn ett bibliotek som du måste kolla in.
Scikit-learn är väldokumenterat och enkelt att använda, oavsett om du är ny inom maskininlärning, vill komma igång snabbt eller vill använda det mest uppdaterade ML-forskningsverktyget.
Den låter dig konstruera en prediktiv datamodell på bara några rader kod och använder sedan den modellen för att passa dina data som ett högnivåbibliotek. Det är flexibelt och fungerar bra med andra Python-bibliotek som Matplotlib för kartläggning, NumPy för vektorisering av arrayer och pandor för datavisualisering.
I den här guiden får du reda på allt om vad det är, hur du kan använda det, tillsammans med dess för- och nackdelar.
Vad är Scikit lära?
Scikit-learn (även känd som sklearn) erbjuder en mångfald av statistiska modeller och maskininlärning. Till skillnad från de flesta moduler är sklearn utvecklad i Python snarare än C. Trots att den har utvecklats i Python tillskrivs effektiviteten av sklearn dess användning av NumPy för högpresterande linjär algebra och arrayoperationer.
Scikit-Learn skapades som en del av Googles Summer of Code-projekt och har sedan dess gjort livet för miljontals Python-centrerade dataforskare över hela världen enklare. Det här avsnittet i serien fokuserar på att presentera biblioteket och fokusera på ett element – datauppsättningstransformationer, som är ett viktigt och viktigt steg att ta innan man utvecklar en prediktionsmodell.
Biblioteket är baserat på SciPy (Scientific Python), som måste installeras innan du kan använda scikit-learn. Denna stack innehåller följande föremål:
- NumPy: Pythons standard n-dimensionella arraypaket
- SciPy: Det är ett grundläggande paket för vetenskaplig beräkning
- Pandas: Datastrukturer och analys
- Matplotlib: Det är ett kraftfullt 2D/3D-plottbibliotek
- Sympy: Symbolisk matematik
- IPython: Förbättrad interaktiv konsol
Tillämpningar av Scikit-learn-biblioteket
Scikit-learn är ett Python-paket med öppen källkod med sofistikerade dataanalys- och gruvfunktioner. Den kommer med en uppsjö av inbyggda algoritmer som hjälper dig att få ut det mesta av dina datavetenskapsprojekt. Scikit-learn-biblioteket används på följande sätt.
1. Regression
Regressionsanalys är en statistisk teknik för att analysera och förstå sambandet mellan två eller flera variabler. Metoden som används för att göra regressionsanalys hjälper till att avgöra vilka element som är relevanta, vilka som kan ignoreras och hur de interagerar. Regressionstekniker kan till exempel användas för att bättre förstå aktiekursernas beteende.
Regressionsalgoritmer inkluderar:
- linjär regression
- Åsregression
- Lasso -regression
- Regression av beslutsträd
- Slumpmässig skog
- Stöd vektormaskiner (SVM)
2. Klassificering
Klassificeringsmetoden är ett övervakat lärande som använder träningsdata för att identifiera kategorin av färska observationer. En algoritm i klassificering lär sig av en given dataset eller observationer och klassificerar sedan ytterligare observationer i en av många klasser eller grupperingar. De kan till exempel användas för att klassificera e-postkommunikation som spam eller inte.
Klassificeringsalgoritmer inkluderar följande:
- Logistisk återgång
- K-Närmaste grannar
- Stöd Vector Machine
- Beslutsträd
- Slumpmässig skog
3. Klustring
Klustringsalgoritmerna i Scikit-learn används för att automatiskt ordna data med liknande egenskaper i uppsättningar. Klustring är processen att gruppera en uppsättning objekt så att de i samma grupp är mer lika de i andra grupper. Kunddata kan till exempel separeras baserat på deras plats.
Klustringsalgoritmer inkluderar följande:
- DB-SCAN
- K-medel
- Mini-Batch K-Means
- Spektral klustring
4. Val av modell
Modellvalsalgoritmer tillhandahåller metoder för att jämföra, validera och välja de optimala parametrarna och modellerna för användning i datavetenskapliga initiativ. Givet data är modellval problemet med att välja en statistisk modell från en grupp av kandidatmodeller. Under de mest grundläggande omständigheterna tas hänsyn till en redan existerande insamling av data. Uppgiften kan dock även innefatta utformning av experiment så att insamlad data är väl lämpad för modellvalsproblematiken.
Modellvalsmoduler som kan förbättra noggrannheten genom att justera parametrar inkluderar:
- Korsvalidering
- Rutnätssökning
- Metrics
5. Dimensionalitetsminskning
Överföringen av data från ett högdimensionellt utrymme till ett lågdimensionellt utrymme så att den lågdimensionella representationen bevarar några betydande aspekter av originaldata, idealiskt nära dess inneboende dimension, kallas dimensionsreduktion. Antalet slumpvariabler för analys reduceras när dimensionaliteten reduceras. Avlägsen data, till exempel, kanske inte anses förbättra effektiviteten i visualiseringar.
Dimensionalitetsreduktionsalgoritmen inkluderar följande:
- Funktionsval
- Huvudkomponentanalys (PCA)
Installerar Scikit-learn
NumPy, SciPy, Matplotlib, IPython, Sympy och Pandas måste vara installerade innan du använder Scikit-learn. Låt oss installera dem med hjälp av pip från konsolen (fungerar endast för Windows).
Låt oss installera Scikit-learn nu när vi har installerat de nödvändiga biblioteken.
Funktioner
Scikit-learn, ibland känd som sklearn, är en Python-verktygssats för att implementera maskininlärningsmodeller och statistisk modellering. Vi kan använda det för att skapa flera maskininlärningsmodeller för regression, klassificering och klustring, såväl som statistiska verktyg för att bedöma dessa modeller. Det inkluderar också dimensionsreduktion, funktionsval, funktionsextraktion, ensemblemetoder och inbyggda datamängder. Vi kommer att undersöka var och en av dessa egenskaper en i taget.
1. Importera datamängder
Scikit-learn inkluderar ett antal förbyggda datamängder, såsom irisdatauppsättningen, hemprisdatauppsättningen, titanic dataset, och så vidare. De viktigaste fördelarna med dessa datauppsättningar är att de är enkla att förstå och kan användas för att omedelbart utveckla ML-modeller. Dessa datauppsättningar är lämpliga för nybörjare. På samma sätt kan du använda sklearn för att importera ytterligare datauppsättningar. På samma sätt kan du använda den för att importera ytterligare datauppsättningar.
2. Dela upp datauppsättningar för utbildning och testning
Sklearn inkluderade möjligheten att dela upp datasetet i tränings- och testsegment. Dela upp datauppsättningen krävs för en opartisk bedömning av prediktionsprestanda. Vi kan ange hur mycket av vår data som ska inkluderas i tåg- och testdatauppsättningarna. Vi delade upp datauppsättningen med hjälp av tågtestdelning så att tåguppsättningen utgör 80 % av datan och testuppsättningen har 20 %. Datauppsättningen kan delas upp enligt följande:
3. Linjär regression
Linjär regression är en övervakad inlärningsbaserad maskininlärningsteknik. Den utför ett regressionsjobb. Baserat på oberoende variabler, modellerar regressions ett målprediktionsvärde. Det används mest för att bestämma kopplingen mellan variabler och förutsägelse. Olika regressionsmodeller skiljer sig åt när det gäller vilken typ av samband de utvärderar mellan beroende och oberoende variabler, samt antalet oberoende variabler som används. Vi kan helt enkelt skapa den linjära regressionsmodellen med sklearn enligt följande:
4. Logistisk regression
En vanlig kategoriseringsmetod är logistisk regression. Det är i samma familj som polynom och linjär regression och tillhör den linjära klassificerare familjen. Resultaten av logistisk regression är enkla att förstå och går snabbt att beräkna. På samma sätt som linjär regression är logistisk regression en övervakad regressionsteknik. Utdatavariabeln är kategorisk, så det är den enda skillnaden. Det kan avgöra om en patient har en hjärtsjukdom eller inte.
Olika klassificeringsproblem, såsom skräppostdetektering, kan lösas med logistisk regression. Diabetesprognoser, avgöra om en konsument kommer att köpa en specifik produkt eller byta till en rival, avgöra om en användare kommer att klicka på en specifik marknadsföringslänk och många fler scenarier är bara några exempel.
5. Beslutsträd
Den mest kraftfulla och mest använda klassificerings- och prediktionstekniken är beslutsträdet. Ett beslutsträd är en trädstruktur som ser ut som ett flödesschema, där varje intern nod representerar ett test på ett attribut, varje gren representerar testets slutsats och varje lövnod (terminalnod) har en klassetikett.
När de beroende variablerna inte har ett linjärt samband med de oberoende variablerna, dvs när linjär regression inte ger korrekta resultat, är beslutsträd fördelaktiga. Objektet DecisionTreeRegression() kan användas på liknande sätt för att använda ett beslutsträd för regression.
6. Random Forest
En slumpmässig skog är en maskininlärning metod för att lösa regressions- och klassificeringsfrågor. Den använder sig av ensemble learning, vilket är en teknik som kombinerar flera klassificerare för att lösa komplicerade problem. En slumpmässig skogsmetod består av ett stort antal beslutsträd. Det kan användas för att kategorisera låneansökningar, upptäcka bedrägligt beteende och förutse sjukdomsutbrott.
7. Förvirringsmatris
En förvirringsmatris är en tabell som används för att beskriva klassificeringsmodellens prestanda. Följande fyra ord används för att undersöka förvirringsmatrisen:
- Sant positivt: Det betyder att modellen projicerade ett gynnsamt resultat och att den var korrekt.
- Sant negativt: Det betyder att modellen projicerade ett dåligt resultat och att det var korrekt.
- Falskt positivt: Det betyder att modellen förväntade sig ett gynnsamt resultat men att det verkligen var negativt.
- Falskt negativt: Det betyder att modellen förväntade sig ett negativt utfall, medan resultatet var riktigt positivt.
Implementering av förvirringsmatris:
Fördelar
- Det är enkelt att använda.
- Scikit-learn-paketet är extremt anpassningsbart och användbart och tjänar verkliga mål som förutsägelse av konsumentbeteende, neurobildutveckling och så vidare.
- Användare som vill koppla algoritmerna till sina plattformar hittar detaljerad API-dokumentation på webbplatsen Scikit-learn.
- Många författare, medarbetare och en stor världsomspännande onlinegemenskap stödjer och håller Scikit-learn uppdaterad.
Nackdelar
- Det är inte det perfekta alternativet för fördjupade studier.
Slutsats
Scikit-learn är ett viktigt paket för varje datavetare att ha ett starkt grepp om och viss erfarenhet av. Den här guiden bör hjälpa dig med datamanipulation med sklearn. Det finns många fler funktioner i Scikit-learn som du kommer att upptäcka när du går vidare genom ditt datavetenskapsäventyr. Dela dina tankar i kommentarerna.
Kommentera uppropet