Avant de continuer, je vous recommande de lire trois courts articles, où vous trouverez plusieurs defifinitions :
Puisque nous allons utiliser Python, si vous ne l'avez pas encore sur votre PC, lisez la suite Comment installer Python sur Microsoft Windows
Pour la régression linéaire multiple, nous utiliserons également le scikit-apprendre, car il est extrêmement flexible, rendant tout valide ce que nous avons vu dans leexemple de régression linéaire simple.
Nous disposerons alors de la méthode s'adapter pour la formation et la méthode prévoir pour la prédiction. Nous utiliserons également à nouveau la classe Régression linéaire.
Aussi avec la fonction make_régression nous allons construire un ensemble de données de test basé sur les paramètres que nous fournirons. De cette façon, la structure de base est prête à effectuer une régression linéaire. Nous rappellerons le make_régression profitant de la caractéristique d'affectation multiple de Python, comme suit :
x, y = make_regression (n_samples = 500, n_features = 5, noise = 10)
Le jeu de données aura donc les caractéristiques suivantes : 500 valeurs, organisées en 5 caractéristiques, et nous ajoutons un bruit, une différence d'erreur de 10 afin de ne pas rendre le jeu de données trop régulier.
Divisons maintenant le jeu de données en une partie utile pour la formation et une partie utile pour les tests. Nous pourrions penser à 80 échantillons pour les tests et le reste pour la formation. Pour ce faire, nous utilisons la fonction train_test_split qui divise les deux listes x e y in x_train, y_train e x_test, y_test
depuis sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 80)
en conséquence nous aurons
((420, 5), (80, 5), (420,), (80,))
Passons maintenant à la régression qui se déroule de manière totalement analogue à la régression linéaire simple, mais sans les remodeler car dans ce cas le make_régression.
à partir de sklearn.linear_model importer LinearRegression
modèle = régression linéaire ()
model.fit (x_train, y_train)
Ci-dessous, nous avons les paramètres calculés pour la régression, ainsi que les coefficients et l'ordonnée à l'origine
model.coef_ prend la valeur suivante
tableau([90.65, 23.45, 66.43, 42.54, 24.35])
model.intercept_ prend la valeur suivante
- 0.4564
Avec le modèle entraîné, nous pouvons faire la prédiction sur les données de test et l'évaluer avec certaines métriques :
prédiction = model.predict (x_test)
mean_absolute_error (y_test, prévision)
6.964857
re_score (y_test, prévision)
0.9876
Tout en utilisant les données à des fins éducatives, les résultats montrent que notre modèle fonctionne. Il a été éduqué, est capable de faire des prédictions et a également enregistré une valeur pour la métrique R au carré pratiquement au niveau maximum.
Ercole Palmeri: Accros à l'innovation