Ici, nous allons expliquer l'utilisation de base de la bibliothèque de machine learning scicit-learn. Les algorithmes d'apprentissage automatique seront traités dans un autre article. Il est censé utiliser la série Python3.
Comme d'autres bibliothèques, il peut être lu avec ʻimport, mais comme décrit ci-dessous, il est souvent lu avec ʻimport
et from
lors de son utilisation.
scikit-learn_1.py
import sklearn
scikit-learn a divers ensembles de données qui peuvent être utilisés pour l'apprentissage automatique. Vous pouvez découvrir quel ensemble de données vous avez en exécutant le code ci-dessous.
scikit-learn_2.py
import sklearn.datasets
[s for s in dir(sklearn.datasets) if s.startswith('load_')]
Ici, nous utiliserons l'ensemble de données ʻiris` (Ayame) des ensembles de données ci-dessus. Envisagez d'utiliser la régression linéaire pour prédire la largeur d'un gaku à partir de la longueur du gaku. Préparez d'abord les données.
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] #La longueur de l'iris gaku
y = X.iloc[:, 1] #Largeur de l'iris gaku
Lorsque les données sont prêtes, effectuez une régression linéaire.
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) #Créer un modèle de régression linéaire
print(model.coef_) #Inclinaison
print(model.intercept_) #Section
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) #Prévoir
print(y_pred)
fig, ax = plt.subplots()
ax.scatter(X_test, y_test, label='Test set') #Diagramme de dispersion des valeurs mesurées
ax.plot(X_test, y_pred, label = 'Regression curve') #Retour en ligne droite
ax.legend()
plt.show() #Illustre les données utilisées pour la prédiction
plt.savefig('scikit-learn_4.png')
print(r2_score(y_test, y_pred)) # R^2 valeurs
La figure ci-dessous montre les données de test et la droite de régression.
La valeur finale R ^ 2 indique dans quelle mesure le modèle s'adapte, mais les paramètres que vous voyez varient selon qu'il s'agit de régression ou de classification, et à d'autres fins.
Ici, nous avons expliqué les éléments de base de scikit-learn. C'est une bonne idée d'avoir une idée approximative du processus de préparation d'un ensemble de données, de prétraitement des données, de création d'un modèle prédictif et de validation d'un modèle.
Recommended Posts