Scikit Learn - Einführung
In diesem Kapitel werden wir verstehen, was Scikit-Learn oder Sklearn ist, woher Scikit-Learn stammt und einige andere verwandte Themen wie Communitys und Mitwirkende, die für die Entwicklung und Wartung von Scikit-Learn verantwortlich sind, seine Voraussetzungen, Installation und seine Funktionen.
Was ist Scikit-Learn (Sklearn)
Scikit-learn (Sklearn) ist die nützlichste und robusteste Bibliothek für maschinelles Lernen in Python. Es bietet eine Auswahl effizienter Tools für maschinelles Lernen und statistische Modellierung, einschließlich Klassifizierung, Regression, Clustering und Dimensionsreduktion über eine Konsistenzschnittstelle in Python. Diese Bibliothek, die größtenteils in Python geschrieben ist, baut darauf aufNumPy, SciPy und Matplotlib.
Ursprung von Scikit-Learn
Es wurde ursprünglich genannt scikits.learn und wurde ursprünglich von David Cournapeau als Google Summer of Code-Projekt im Jahr 2007 entwickelt. Später, im Jahr 2010, nahmen Fabian Pedregosa, Gael Varoquaux, Alexandre Gramfort und Vincent Michel vom FIRCA (Französisches Institut für Forschung in Informatik und Automatisierung) teil Dieses Projekt wurde auf einer anderen Ebene veröffentlicht und am 1. Februar 2010 erstmals veröffentlicht (v0.1 Beta).
Werfen wir einen Blick auf die Versionsgeschichte -
Mai 2019: scikit-learn 0.21.0
März 2019: scikit-learn 0.20.3
Dezember 2018: scikit-learn 0.20.2
November 2018: scikit-learn 0.20.1
September 2018: scikit-learn 0.20.0
Juli 2018: scikit-learn 0.19.2
Juli 2017: scikit-learn 0.19.0
September 2016. scikit-learn 0.18.0
November 2015. scikit-learn 0.17.0
März 2015. scikit-learn 0.16.0
Juli 2014. scikit-learn 0.15.0
August 2013. scikit-learn 0.14
Community & Mitwirkende
Scikit-Learn ist eine Gemeinschaftsanstrengung und jeder kann dazu beitragen. Dieses Projekt wird am gehostethttps://github.com/scikit-learn/scikit-learn. Die folgenden Personen sind derzeit die Hauptverantwortlichen für die Entwicklung und Wartung von Sklearn -
Joris Van den Bossche (Datenwissenschaftler)
Thomas J Fan (Softwareentwickler)
Alexandre Gramfort (Forscher für maschinelles Lernen)
Olivier Grisel (Experte für maschinelles Lernen)
Nicolas Hug (Associate Research Scientist)
Andreas Mueller (Wissenschaftler für maschinelles Lernen)
Hanmin Qin (Software-Ingenieur)
Adrin Jalali (Open Source Entwickler)
Nelle Varoquaux (Data Science Researcher)
Roman Yurchak (Datenwissenschaftler)
Verschiedene Organisationen wie Booking.com, JP Morgan, Evernote, Inria, AWeber, Spotify und viele mehr verwenden Sklearn.
Voraussetzungen
Bevor wir die neueste Version von scikit-learn verwenden, benötigen wir Folgendes:
Python (> = 3,5)
NumPy (> = 1.11.0)
Scipy (> = 0,17,0) li
Joblib (> = 0,11)
Matplotlib (> = 1.5.1) ist für Sklearn-Plotfunktionen erforderlich.
Pandas (> = 0.18.0) wird für einige der Scikit-Lernbeispiele mit Datenstruktur und Analyse benötigt.
Installation
Wenn Sie NumPy und Scipy bereits installiert haben, sind die beiden einfachsten Möglichkeiten, scikit-learn zu installieren:
Mit pip
Der folgende Befehl kann verwendet werden, um scikit-learn über pip zu installieren -
pip install -U scikit-learn
Mit conda
Der folgende Befehl kann verwendet werden, um scikit-learn über conda zu installieren -
conda install scikit-learn
Wenn NumPy und Scipy jedoch noch nicht auf Ihrer Python-Workstation installiert sind, können Sie sie mit beiden installieren pip oder conda.
Eine andere Möglichkeit, scikit-learn zu verwenden, ist die Verwendung von Python-Distributionen wie Canopy und Anaconda weil beide die neueste Version von scikit-learn ausliefern.
Eigenschaften
Anstatt sich auf das Laden, Bearbeiten und Zusammenfassen von Daten zu konzentrieren, konzentriert sich die Scikit-learn-Bibliothek auf das Modellieren der Daten. Einige der beliebtesten Modellgruppen von Sklearn sind:
Supervised Learning algorithms - Fast alle gängigen überwachten Lernalgorithmen wie lineare Regression, Support Vector Machine (SVM), Entscheidungsbaum usw. sind Teil des Scikit-Lernens.
Unsupervised Learning algorithms - Andererseits verfügt es auch über alle gängigen unbeaufsichtigten Lernalgorithmen, von Clustering, Faktoranalyse, PCA (Principal Component Analysis) bis hin zu unbeaufsichtigten neuronalen Netzen.
Clustering - Dieses Modell wird zum Gruppieren unbeschrifteter Daten verwendet.
Cross Validation - Es wird verwendet, um die Genauigkeit von überwachten Modellen auf unsichtbare Daten zu überprüfen.
Dimensionality Reduction - Es wird verwendet, um die Anzahl der Attribute in Daten zu reduzieren, die für die Zusammenfassung, Visualisierung und Funktionsauswahl weiter verwendet werden können.
Ensemble methods - Wie der Name schon sagt, wird es zum Kombinieren der Vorhersagen mehrerer überwachter Modelle verwendet.
Feature extraction - Es wird verwendet, um die Features aus Daten zu extrahieren, um die Attribute in Bild- und Textdaten zu definieren.
Feature selection - Es wird verwendet, um nützliche Attribute zum Erstellen von überwachten Modellen zu identifizieren.
Open Source - Es ist eine Open-Source-Bibliothek und kann auch unter BSD-Lizenz kommerziell verwendet werden.