Machine Learning à l'Université de Stanford, le cours le plus populaire de la plateforme d'apprentissage en ligne Coursera. L'instructeur est le Dr Andrew Ng. La classe se compose de conférences et de tâches de programmation, et Octave ou Matlab est spécifié comme langage utilisé pour les tâches de programmation.
Nous implémenterons discrètement cette tâche de programmation en utilisant Python. cependant,
La politique.
Dans ex1, qui est la première tâche, nous ferons une régression linéaire. Dans la gestion de la chaîne de restaurants, le montant des bénéfices lors de l'ouverture d'un nouveau magasin est prédit en fonction de l'ensemble de données qui associe la population de la ville qui a ouvert dans le passé et le montant des bénéfices du restaurant.
Cliquez-ici pour le code.
ex1.py
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import linear_model
#Lecture des données
data = pd.read_csv("ex1data1.txt", header=None)
plt.scatter(data[0], data[1], marker='x', c='r')
plt.xlabel("Population of city in 10,000s")
plt.ylabel("Profit in $10,000s")
X = np.array([data[0]]).T
y = np.array(data[1])
model = linear_model.LinearRegression()
model.fit(X, y)
px = np.arange(X.min(),X.max(),.01)[:,np.newaxis]
py = model.predict(px)
plt.plot(px, py, color="blue", linewidth=3)
plt.show()
Le tracé résultant est affiché comme ceci:
Le modèle de régression linéaire utilise la classe sklearn.linear_model.LinearRegression ()
de scikit-learn. Tout d'abord, créez une instance et entraînez-vous avec model.fit (X, y)
. Les sections et les pentes qui sont les résultats d'apprentissage peuvent être récupérées comme model.intercept_
et model.coef_
, respectivement. Pour faire une prédiction pour une nouvelle valeur X
à l'aide d'un modèle, utilisez model.predict (X)
.
Contrairement à Matlab / Octave, Python ne fait pas la distinction entre les vecteurs verticaux et horizontaux unidimensionnels. Pour créer explicitement un vecteur vertical
np.array([[1,2,3,4,5]]).T
Ou
np.array([1,2,3,4,5])[:,np.newaxis)]
Et. -> Article de référence
Recommended Posts