Hier erklären wir die grundlegende Verwendung der maschinellen Lernbibliothek scicit-learn. Algorithmen für maschinelles Lernen werden in einem anderen Artikel behandelt. Es soll Python3-Serie verwenden.
Wie andere Bibliotheken kann es mit "import" gelesen werden, aber wie unten beschrieben, wird es häufig mit "import" und "from" gelesen, wenn es tatsächlich verwendet wird.
scikit-learn_1.py
import sklearn
scikit-learn verfügt über verschiedene Datensätze, die für maschinelles Lernen verwendet werden können. Sie können herausfinden, über welchen Datensatz Sie verfügen, indem Sie den folgenden Code ausführen.
scikit-learn_2.py
import sklearn.datasets
[s for s in dir(sklearn.datasets) if s.startswith('load_')]
Hier verwenden wir den "Iris" -Datensatz (Ayame) aus den obigen Datensätzen. Erwägen Sie die Verwendung einer linearen Regression, um die Breite eines Gaku aus der Länge des Gaku vorherzusagen. Bereiten Sie zuerst die Daten vor.
scikit-learn_3.py
from sklearn.datasets import load_iris
import pandas as pd
data_iris = load_iris()
X = pd.DataFrame(data_iris.data, columns=data_iris.feature_names)
x = X.iloc[:, 0] #Die Länge des Iris Gaku
y = X.iloc[:, 1] #Breite des Iris Gaku
Wenn die Daten fertig sind, führen Sie eine lineare Regression durch.
scikit-learn_4.py
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
%matplotlib inline
X_train = [[5.1], [4.9], [4.7], [4.6], [5.0], [5.4], [4.6], [5.0], [4.4], [4.9]]
y_train = [3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1]
model = LinearRegression()
model.fit(X_train, y_train) #Erstellen Sie ein lineares Regressionsmodell
print(model.coef_) #Neigung
print(model.intercept_) #Sektion
X_test = [[5.4], [4.8], [4.8], [4.3], [5.8]]
y_test = [3.7, 3.4, 3.0, 3.0, 4.0]
y_pred = model.predict(X_test) #Prognose
print(y_pred)
fig, ax = plt.subplots()
ax.scatter(X_test, y_test, label='Test set') #Streudiagramm der Messwerte
ax.plot(X_test, y_pred, label = 'Regression curve') #Gerade zurückgeben
ax.legend()
plt.show() #Veranschaulicht die zur Vorhersage verwendeten Daten
plt.savefig('scikit-learn_4.png')
print(r2_score(y_test, y_pred)) # R^2 Werte
Die folgende Abbildung zeigt die Testdaten und die Regressionslinie.
Der endgültige R ^ 2-Wert gibt an, wie gut das Modell passt. Die angezeigten Parameter variieren jedoch je nach Regression oder Klassifizierung und anderen Zwecken.
Hier haben wir die grundlegenden Teile des Scikit-Lernens erklärt. Es ist eine gute Idee, sich einen groben Überblick über den Prozess der Vorbereitung eines Datensatzes, der Vorverarbeitung von Daten, der Erstellung eines Vorhersagemodells und der Validierung eines Modells zu verschaffen.
Ich kann dich nicht mehr hören! Was ist maschinelles Lernen? Warum wird Python verwendet?
Recommended Posts