Inhaltsverzeichnis[Ausblenden][Zeigen]
Wenn Sie ein Python-Programmierer sind oder nach einem leistungsstarken Toolkit suchen, mit dem Sie maschinelles Lernen in ein Produktionssystem einführen können, ist Scikit-learn eine Bibliothek, die Sie sich ansehen sollten.
Scikit-learn ist gut dokumentiert und einfach zu verwenden, egal ob Sie neu im Bereich des maschinellen Lernens sind, schnell loslegen oder das aktuellste ML-Forschungstool nutzen möchten.
Es ermöglicht Ihnen, ein prädiktives Datenmodell in nur wenigen Codezeilen zu erstellen und dieses Modell dann passend zu Ihren Daten als High-Level-Bibliothek zu verwenden. Es ist flexibel und funktioniert gut mit anderen Python-Bibliotheken wie Matplotlib für Diagramme, NumPy für die Array-Vektorisierung und Pandas für die Datenvisualisierung.
In diesem Handbuch erfahren Sie alles darüber, was es ist, wie Sie es verwenden können, zusammen mit seinen Vor- und Nachteilen.
Was ist Scikit-lernen?
Scikit-learn (auch bekannt als sklearn) bietet eine Vielzahl von statistischen Modellen und maschinellem Lernen. Im Gegensatz zu den meisten Modulen wird sklearn in Python und nicht in C entwickelt. Obwohl es in Python entwickelt wurde, wird die Effizienz von sklearn der Verwendung von NumPy für leistungsstarke lineare Algebra- und Array-Operationen zugeschrieben.
Scikit-Learn wurde im Rahmen des Summer of Code-Projekts von Google entwickelt und hat seitdem das Leben von Millionen von Python-zentrierten Datenwissenschaftlern auf der ganzen Welt einfacher gemacht. Dieser Abschnitt der Serie konzentriert sich auf die Präsentation der Bibliothek und konzentriert sich auf ein Element – Datensatztransformationen, die ein wichtiger und wichtiger Schritt vor der Entwicklung eines Vorhersagemodells sind.
Die Bibliothek basiert auf SciPy (Scientific Python), das installiert werden muss, bevor Sie scikit-learn verwenden können. Dieser Stapel enthält die folgenden Elemente:
- NumPy: Pythons Standardpaket für n-dimensionale Arrays
- SciPy: Es ist ein grundlegendes Paket für wissenschaftliches Rechnen
- Pandas: Datenstrukturen und Analyse
- Matplotlib: Es ist eine leistungsstarke 2D/3D-Plotbibliothek
- Sympy: Symbolische Mathematik
- IPython: Verbesserte interaktive Konsole
Anwendungen der Scikit-learn-Bibliothek
Scikit-learn ist ein Open-Source-Python-Paket mit ausgefeilten Datenanalyse- und Mining-Funktionen. Es verfügt über eine Vielzahl integrierter Algorithmen, mit denen Sie das Beste aus Ihren Data-Science-Projekten herausholen können. Die Scikit-learn-Bibliothek wird auf folgende Weise verwendet.
1. Regression
Die Regressionsanalyse ist eine statistische Technik zum Analysieren und Verstehen der Verbindung zwischen zwei oder mehr Variablen. Die zur Durchführung der Regressionsanalyse verwendete Methode hilft bei der Bestimmung, welche Elemente relevant sind, welche ignoriert werden können und wie sie interagieren. Beispielsweise können Regressionstechniken verwendet werden, um das Verhalten von Aktienkursen besser zu verstehen.
Zu den Regressionsalgorithmen gehören:
- Lineare Regression
- Ridge-Regression
- Lasso-Regression
- Entscheidungsbaum-Regression
- Zufälliger Wald
- Support-Vektor-Maschinen (SVM)
2. Einstufung
Die Klassifizierungsmethode ist ein überwachter Lernansatz, der Trainingsdaten verwendet, um die Kategorie neuer Beobachtungen zu identifizieren. Ein Algorithmus in der Klassifizierung lernt aus einem Gegebenen Datensatz oder Beobachtungen und klassifiziert dann zusätzliche Beobachtungen in eine von vielen Klassen oder Gruppierungen. Sie können beispielsweise verwendet werden, um E-Mail-Kommunikation als Spam zu klassifizieren oder nicht.
Zu den Klassifizierungsalgorithmen gehören:
- Logistische Regression
- K-Nächste Nachbarn
- Unterstützung Vektor Maschine
- Entscheidungsbaum
- Zufälliger Wald
3. Clusterbildung
Die Clustering-Algorithmen in Scikit-learn werden verwendet, um Daten mit ähnlichen Eigenschaften automatisch in Sätzen anzuordnen. Clustering ist der Prozess der Gruppierung einer Reihe von Elementen, sodass die Elemente in derselben Gruppe denen in anderen Gruppen ähnlicher sind. Kundendaten können beispielsweise nach ihrem Standort getrennt werden.
Clustering-Algorithmen umfassen Folgendes:
- DB-SCAN
- K-Mittel
- Mini-Batch-K-Mittel
- Spektrale Clusterbildung
4. Modellauswahl
Modellauswahlalgorithmen bieten Methoden zum Vergleichen, Validieren und Auswählen der optimalen Parameter und Modelle zur Verwendung in Data-Science-Initiativen. Bei gegebenen Daten ist die Modellauswahl das Problem, ein statistisches Modell aus einer Gruppe von Kandidatenmodellen auszuwählen. In den einfachsten Fällen wird eine bereits bestehende Datensammlung berücksichtigt. Die Aufgabe kann aber auch das Design von Experimenten umfassen, damit die gewonnenen Daten für das Modellauswahlproblem gut geeignet sind.
Zu den Modellauswahlmodulen, die die Genauigkeit durch Anpassen von Parametern verbessern können, gehören:
- Quervalidierung
- Rastersuche
- Metrik
5. Dimensionsreduktion
Die Übertragung von Daten von einem hochdimensionalen Raum in einen niedrigdimensionalen Raum, so dass die niedrigdimensionale Darstellung einige signifikante Aspekte der Originaldaten bewahrt, idealerweise in der Nähe ihrer inhärenten Dimension, wird als Dimensionsreduktion bezeichnet. Die Anzahl der zu analysierenden Zufallsvariablen wird reduziert, wenn die Dimensionalität reduziert wird. Abgelegene Daten können beispielsweise nicht zur Verbesserung der Effizienz von Visualisierungen in Betracht gezogen werden.
Der Dimensionsreduktionsalgorithmus umfasst Folgendes:
- Merkmalsauswahl
- Hauptkomponentenanalyse (PCA)
Scikit-learn installieren
NumPy, SciPy, Matplotlib, IPython, Sympy und Pandas müssen vor der Verwendung von Scikit-learn installiert werden. Lassen Sie uns sie mit pip von der Konsole installieren (funktioniert nur für Windows).
Lassen Sie uns Scikit-learn installieren, nachdem wir die erforderlichen Bibliotheken installiert haben.
Eigenschaften
Scikit-learn, manchmal auch als sklearn bekannt, ist ein Python-Toolkit zur Implementierung von Modellen für maschinelles Lernen und statistische Modellierung. Wir können es verwenden, um mehrere maschinelle Lernmodelle für Regression, Klassifizierung und Clustering sowie statistische Tools zur Bewertung dieser Modelle zu erstellen. Es umfasst auch Dimensionsreduktion, Merkmalsauswahl, Merkmalsextraktion, Ensemble-Ansätze und integrierte Datensätze. Wir werden jede dieser Qualitäten einzeln untersuchen.
1. Importieren von Datensätzen
Scikit-learn enthält eine Reihe vorgefertigter Datensätze, wie z. B. den Iris-Datensatz, den Hauspreisdatensatz, den Titanic-Datensatz und so weiter. Die Hauptvorteile dieser Datensätze bestehen darin, dass sie einfach zu erfassen sind und zur sofortigen Entwicklung von ML-Modellen verwendet werden können. Diese Datensätze sind für Anfänger geeignet. Ebenso können Sie sklearn verwenden, um zusätzliche Datensätze zu importieren. Ebenso können Sie es verwenden, um zusätzliche Datensätze zu importieren.
2. Aufteilen des Datensatzes für Training und Test
Sklearn beinhaltete die Möglichkeit, den Datensatz in Trainings- und Testsegmente zu unterteilen. Das Aufteilen des Datensatzes ist für eine unvoreingenommene Bewertung der Vorhersageleistung erforderlich. Wir können angeben, wie viele unserer Daten in die Zug- und Testdatensätze aufgenommen werden sollen. Wir teilten den Datensatz mit Zugtestaufteilung so auf, dass der Zugsatz 80 % der Daten umfasst und der Testsatz 20 %. Der Datensatz kann wie folgt aufgeteilt werden:
3. Lineare Regression
Die lineare Regression ist eine auf überwachtem Lernen basierende Technik des maschinellen Lernens. Es führt einen Regressionsjob aus. Basierend auf unabhängigen Variablen modelliert die Regression einen Zielvorhersagewert. Es wird hauptsächlich verwendet, um die Verbindung zwischen Variablen und Vorhersagen zu bestimmen. Verschiedene Regressionsmodelle unterscheiden sich hinsichtlich der Art der Verbindung, die sie zwischen abhängigen und unabhängigen Variablen bewerten, sowie der Anzahl der verwendeten unabhängigen Variablen. Wir können das lineare Regressionsmodell einfach mit sklearn wie folgt erstellen:
4. Logistische Regression
Ein gängiger Kategorisierungsansatz ist die logistische Regression. Es gehört zur selben Familie wie die polynomiale und lineare Regression und gehört zur Familie der linearen Klassifikatoren. Die Ergebnisse der logistischen Regression sind einfach zu verstehen und schnell zu berechnen. Genauso wie die lineare Regression ist die logistische Regression eine überwachte Regressionstechnik. Die Ausgabevariable ist kategorial, das ist also der einzige Unterschied. Es kann festgestellt werden, ob ein Patient eine Herzerkrankung hat oder nicht.
Verschiedene Klassifizierungsprobleme, wie z. B. Spam-Erkennung, können mithilfe der logistischen Regression gelöst werden. Diabetesprognosen, die Bestimmung, ob ein Verbraucher ein bestimmtes Produkt kaufen oder zu einem Konkurrenten wechseln wird, die Bestimmung, ob ein Benutzer auf einen bestimmten Marketinglink klickt, und viele weitere Szenarien sind nur einige Beispiele.
5. Entscheidungsbaum
Die leistungsstärkste und am weitesten verbreitete Klassifizierungs- und Vorhersagetechnik ist der Entscheidungsbaum. Ein Entscheidungsbaum ist eine Baumstruktur, die wie ein Flussdiagramm aussieht, wobei jeder interne Knoten einen Test für ein Attribut darstellt, jeder Zweig die Schlussfolgerung des Tests darstellt und jeder Blattknoten (Endknoten) eine Klassenbezeichnung enthält.
Wenn die abhängigen Variablen keinen linearen Zusammenhang mit den unabhängigen Variablen haben, dh wenn die lineare Regression keine korrekten Ergebnisse liefert, sind Entscheidungsbäume von Vorteil. Das Objekt DecisionTreeRegression() kann auf ähnliche Weise verwendet werden, um einen Entscheidungsbaum für die Regression zu verwenden.
6. Zufälliger Wald
Ein zufälliger Wald ist a Maschinelles Lernen Ansatz zur Lösung von Regressions- und Klassifizierungsproblemen. Es nutzt Ensemble-Lernen, eine Technik, die mehrere Klassifikatoren kombiniert, um komplizierte Probleme zu lösen. Eine Random-Forest-Methode besteht aus einer großen Anzahl von Entscheidungsbäumen. Es kann verwendet werden, um Kreditanträge zu kategorisieren, betrügerisches Verhalten zu erkennen und Krankheitsausbrüche vorherzusehen.
7. Verwirrungsmatrix
Eine Konfusionsmatrix ist eine Tabelle, die verwendet wird, um die Leistung des Klassifikationsmodells zu beschreiben. Die folgenden vier Wörter werden verwendet, um die Konfusionsmatrix zu untersuchen:
- True Positive: Es bedeutet, dass das Modell ein günstiges Ergebnis prognostiziert hat und es richtig war.
- Richtig negativ: Es bedeutet, dass das Modell ein schlechtes Ergebnis prognostiziert hat und es richtig war.
- Falsch positiv: Es bedeutet, dass das Modell ein günstiges Ergebnis erwartet hat, aber es war wirklich ein negatives.
- Falsch negativ: Es bedeutet, dass das Modell ein negatives Ergebnis erwartet hat, während das Ergebnis wirklich positiv war.
Implementierung der Konfusionsmatrix:
Vorteile
- Es ist einfach zu bedienen.
- Das Scikit-learn-Paket ist äußerst anpassungsfähig und nützlich und dient realen Zielen wie der Vorhersage des Verbraucherverhaltens, der Entwicklung von Neuroimages und so weiter.
- Benutzer, die die Algorithmen mit ihren Plattformen verbinden möchten, finden eine ausführliche API-Dokumentation auf der Scikit-learn-Website.
- Zahlreiche Autoren, Mitarbeiter und eine große weltweite Online-Community unterstützen und halten Scikit-learn auf dem Laufenden.
Nachteile
- Es ist nicht die ideale Option für ein vertieftes Studium.
Zusammenfassung
Scikit-learn ist ein wichtiges Paket für jeden Datenwissenschaftler, das ein starkes Verständnis und einige Erfahrung damit haben muss. Dieser Leitfaden soll Ihnen bei der Datenmanipulation mit sklearn helfen. Es gibt viele weitere Funktionen von Scikit-learn, die Sie entdecken werden, während Sie Ihr Data-Science-Abenteuer durchlaufen. Teilen Sie Ihre Gedanken in den Kommentaren.
Hinterlassen Sie uns einen Kommentar