informatique

Exemple d'apprentissage automatique avec Python : régression linéaire multiple

La régression linéaire multiple diffère de la régression linéaire simple en ce qu'elle s'applique à plusieurs fonctionnalités, plutôt qu'à une seule. Dans cet exemple de machine learning nous allons voir une régression linéaire multiple, donc avec plus de fonctionnalités en entrée.

Avant de continuer, je vous recommande de lire trois courts articles, où vous trouverez plusieurs defifinitions :

  1. Qu'est-ce que le Machine Learning, de quoi il s'agit et ses objectifs
  2. Types d'apprentissage automatique
  3. Exemple d'apprentissage automatique avec Python : régression linéaire simple

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 ()

Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.

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


Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.

Lire Innovation dans votre langue

Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.

Suivez-nous