Inhoudsopgave[Zich verstoppen][Laten zien]
Als je een Python-programmeur bent of als je op zoek bent naar een krachtige toolkit om machine learning in een productiesysteem te introduceren, dan is Scikit-learn een bibliotheek die je moet bekijken.
Scikit-learn is goed gedocumenteerd en eenvoudig te gebruiken, of u nu nieuw bent met machine learning, snel aan de slag wilt of de meest up-to-date ML-onderzoekstool wilt gebruiken.
Hiermee kunt u een voorspellend gegevensmodel construeren in slechts een paar regels code en dat model vervolgens gebruiken om bij uw gegevens te passen als een bibliotheek op hoog niveau. Het is flexibel en werkt goed met andere Python-bibliotheken zoals Matplotlib voor grafieken, NumPy voor array-vectorisatie en panda's voor datavisualisatie.
In deze gids kom je alles te weten over wat het is, hoe je het kunt gebruiken en de voor- en nadelen ervan.
Wat is Scikit leren?
Scikit-learn (ook bekend als sklearn) biedt een diverse reeks statistische modellen en machine learning. In tegenstelling tot de meeste modules, is sklearn ontwikkeld in Python in plaats van C. Ondanks dat sklearn is ontwikkeld in Python, wordt de efficiëntie van sklearn toegeschreven aan het gebruik van NumPy voor krachtige lineaire algebra- en arraybewerkingen.
Scikit-Learn is gemaakt als onderdeel van Google's Summer of Code-project en heeft sindsdien het leven van miljoenen op Python gerichte datawetenschappers over de hele wereld eenvoudiger gemaakt. Dit deel van de serie richt zich op het presenteren van de bibliotheek en op één element: datasettransformaties, die een belangrijke en essentiële stap zijn die moet worden genomen voordat een voorspellingsmodel wordt ontwikkeld.
De bibliotheek is gebaseerd op SciPy (Scientific Python), die moet worden geïnstalleerd voordat u scikit-learn kunt gebruiken. Deze stapel bevat de volgende items:
- NumPy: Python's standaard n-dimensionale array-pakket
- SciPy: het is een fundamenteel pakket voor wetenschappelijk computergebruik
- Panda's: gegevensstructuren en analyse
- Matplotlib: het is een krachtige 2D/3D-plotbibliotheek
- Sympy: Symbolische wiskunde
- IPython: verbeterde interactieve console
Toepassingen van de Scikit-leerbibliotheek
Scikit-learn is een open-source Python-pakket met geavanceerde functies voor gegevensanalyse en mining. Het wordt geleverd met een overvloed aan ingebouwde algoritmen om u te helpen het meeste uit uw datawetenschapsprojecten te halen. De Scikit-leerbibliotheek wordt op de volgende manieren gebruikt.
1. regressie
Regressieanalyse is een statistische techniek voor het analyseren en begrijpen van het verband tussen twee of meer variabelen. De methode die wordt gebruikt om regressieanalyse uit te voeren, helpt bij het bepalen welke elementen relevant zijn, welke kunnen worden genegeerd en hoe ze op elkaar inwerken. Regressietechnieken kunnen bijvoorbeeld worden gebruikt om het gedrag van aandelenkoersen beter te begrijpen.
Regressie-algoritmen omvatten:
- Lineaire regressie
- Ridge regressie
- Lasso-regressie
- Beslisboom regressie
- Willekeurig bos
- Ondersteuning van vectormachines (SVM)
2. Classificatie
De classificatiemethode is een gesuperviseerde leermethode die trainingsgegevens gebruikt om de categorie nieuwe observaties te identificeren. Een algoritme in Classificatie leert van een gegeven dataset of observaties en classificeert vervolgens aanvullende observaties in een van de vele klassen of groepen. Ze kunnen bijvoorbeeld worden gebruikt om e-mailcommunicatie als spam te classificeren of niet.
Classificatie-algoritmen omvatten het volgende:
- Logistische regressie
- K-dichtstbijzijnde buren
- Ondersteuning van Vector Machine
- Beslissingsboom
- Willekeurig bos
3. Clustering
De clusteringalgoritmen in Scikit-learn worden gebruikt om gegevens met vergelijkbare eigenschappen automatisch in sets te rangschikken. Clustering is het proces waarbij een set items wordt gegroepeerd, zodat items in dezelfde groep meer lijken op items in andere groepen. Klantgegevens kunnen bijvoorbeeld worden gescheiden op basis van hun locatie.
Clustering-algoritmen omvatten het volgende:
- DB-SCAN
- K-middelen
- Mini-Batch K-middelen
- Spectrale clustering
4. Modelselectie
Modelselectie-algoritmen bieden methoden voor het vergelijken, valideren en selecteren van de optimale parameters en modellen voor gebruik in datawetenschapsinitiatieven. Gegeven gegevens is modelselectie het probleem van het kiezen van een statistisch model uit een groep kandidaatmodellen. In de meest elementaire omstandigheden wordt rekening gehouden met een reeds bestaande verzameling van gegevens. De taak kan echter ook het ontwerpen van experimenten omvatten, zodat de verkregen gegevens goed geschikt zijn voor het modelselectieprobleem.
Modelselectiemodules die de nauwkeurigheid kunnen verbeteren door parameters aan te passen, zijn onder meer:
- Kruisvalidatie
- Grid zoeken
- Metriek
5. Dimensionaliteitsreductie
De overdracht van gegevens van een hoogdimensionale ruimte naar een laagdimensionale ruimte, zodat de laagdimensionale representatie enkele belangrijke aspecten van de originele gegevens behoudt, idealiter in de buurt van de inherente dimensie, staat bekend als dimensionaliteitsreductie. Het aantal willekeurige variabelen voor analyse wordt verminderd wanneer de dimensionaliteit wordt verminderd. Afgelegen gegevens kunnen bijvoorbeeld niet worden overwogen om de efficiëntie van visualisaties te verbeteren.
Dimensionaliteitsreductie-algoritme omvat het volgende:
- Functies selecteren
- Hoofdcomponentenanalyse (PCA)
Scikit-learn installeren
NumPy, SciPy, Matplotlib, IPython, Sympy en Pandas moeten worden geïnstalleerd voordat Scikit-learn kan worden gebruikt. Laten we ze installeren met pip van de console (werkt alleen voor Windows).
Laten we Scikit-learn installeren nu we de vereiste bibliotheken hebben geïnstalleerd.
Voordelen
Scikit-learn, ook wel sklearn genoemd, is een Python-toolkit voor het implementeren van machine learning-modellen en statistische modellering. We kunnen het gebruiken om meerdere machine learning-modellen te maken voor regressie, classificatie en clustering, evenals statistische hulpmiddelen om deze modellen te beoordelen. Het omvat ook dimensionaliteitsreductie, kenmerkselectie, kenmerkextractie, ensemblebenaderingen en ingebouwde datasets. We zullen elk van deze eigenschappen een voor een onderzoeken.
1. Gegevenssets importeren
Scikit-learn bevat een aantal kant-en-klare datasets, zoals de iris-dataset, huizenprijs-dataset, titanic-dataset, enzovoort. De belangrijkste voordelen van deze datasets zijn dat ze eenvoudig te begrijpen zijn en kunnen worden gebruikt om onmiddellijk ML-modellen te ontwikkelen. Deze datasets zijn geschikt voor beginners. Op dezelfde manier kunt u sklearn gebruiken om extra datasets te importeren. Op dezelfde manier kunt u het gebruiken om extra datasets te importeren.
2. Gegevensset splitsen voor training en testen
Sklearn omvatte de mogelijkheid om de dataset op te delen in trainings- en testsegmenten. Het splitsen van de dataset is vereist voor een onbevooroordeelde beoordeling van de voorspellingsprestaties. We kunnen specificeren hoeveel van onze gegevens moeten worden opgenomen in de trein- en testdatasets. We hebben de dataset verdeeld met behulp van treintestsplitsing, zodat de treinset 80% van de gegevens omvat en de testset 20%. De dataset kan als volgt worden ingedeeld:
3. Lineaire regressie
Lineaire regressie is een op leren gebaseerde machine learning-techniek onder supervisie. Het voert een regressietaak uit. Op basis van onafhankelijke variabelen modelleert regressie een doelvoorspellingswaarde. Het wordt meestal gebruikt om het verband tussen variabelen en voorspellen te bepalen. Verschillende regressiemodellen verschillen in termen van het type verbinding dat ze evalueren tussen afhankelijke en onafhankelijke variabelen, evenals het aantal gebruikte onafhankelijke variabelen. We kunnen het lineaire regressiemodel eenvoudig als volgt maken met sklearn:
4. Logistieke regressie
Een veelgebruikte categorisatiebenadering is logistische regressie. Het behoort tot dezelfde familie als polynomiale en lineaire regressie en behoort tot de lineaire classificatiefamilie. De bevindingen van logistische regressie zijn eenvoudig te begrijpen en snel te berekenen. Net als lineaire regressie, is logistische regressie een gesuperviseerde regressietechniek. De uitvoervariabele is categorisch, dus dat is het enige verschil. Het kan bepalen of een patiënt een hartziekte heeft of niet.
Verschillende classificatieproblemen, zoals spamdetectie, kunnen worden opgelost met behulp van logistische regressie. Diabetesprognoses, bepalen of een consument een specifiek product koopt of overschakelt naar een concurrent, bepalen of een gebruiker op een specifieke marketinglink klikt en nog veel meer scenario's zijn slechts enkele voorbeelden.
5. Beslisboom
De krachtigste en meest gebruikte classificatie- en voorspellingstechniek is de beslisboom. Een beslissingsboom is een boomstructuur die eruitziet als een stroomdiagram, waarbij elk intern knooppunt een test op een attribuut vertegenwoordigt, elke tak de conclusie van de test vertegenwoordigt en elk bladknooppunt (eindknooppunt) met een klasselabel.
Wanneer de afhankelijke variabelen geen lineair verband hebben met de onafhankelijke variabelen, dwz wanneer lineaire regressie geen correcte bevindingen oplevert, zijn beslisbomen gunstig. Het object DecisionTreeRegression() kan op een vergelijkbare manier worden gebruikt om een beslissingsboom voor regressie te gebruiken.
6. Willekeurig bos
Een willekeurig bos is een machine learning aanpak voor het oplossen van regressie- en classificatieproblemen. Het maakt gebruik van ensemble learning, een techniek die meerdere classificaties combineert om gecompliceerde problemen op te lossen. Een random forest methode is opgebouwd uit een groot aantal beslisbomen. Het kan worden gebruikt om leningaanvragen te categoriseren, frauduleus gedrag op te sporen en te anticiperen op uitbraken van ziekten.
7. Verwarringsmatrix
Een verwarringsmatrix is een tabel die wordt gebruikt om de prestaties van een classificatiemodel te beschrijven. De volgende vier woorden worden gebruikt om de verwarringsmatrix te onderzoeken:
- Echt positief: het betekent dat het model een gunstig resultaat voorspelde en dat het correct was.
- Echt negatief: het betekent dat het model een slecht resultaat voorspelde en dat het correct was.
- Vals-positief: het betekent dat het model een gunstig resultaat verwachtte, maar het was in werkelijkheid een negatief resultaat.
- Vals negatief: het betekent dat het model een negatief resultaat verwachtte, terwijl het resultaat echt positief was.
Verwarringsmatrix implementatie:
VOORDELEN
- Het is eenvoudig te gebruiken.
- Het Scikit-leerpakket is uiterst aanpasbaar en nuttig, en dient voor real-world doelen zoals voorspelling van consumentengedrag, ontwikkeling van neurobeelden, enzovoort.
- Gebruikers die de algoritmen willen verbinden met hun platformen, zullen gedetailleerde API-documentatie vinden op de Scikit-learn website.
- Talloze auteurs, medewerkers en een grote wereldwijde online community ondersteunen en houden Scikit-learn up-to-date.
NADELEN
- Het is niet de ideale optie voor diepgaande studie.
Conclusie
Scikit-learn is een essentieel pakket voor elke datawetenschapper om een goed begrip en enige ervaring mee te hebben. Deze gids zou u moeten helpen bij het manipuleren van gegevens met behulp van sklearn. Er zijn nog veel meer mogelijkheden van Scikit-learn die u zult ontdekken naarmate u verder komt in uw datawetenschapsavontuur. Deel uw mening in de opmerkingen.
Laat een reactie achter