Régression simple, multiple linéaire et pas à pas (avec exemple)

Table des matières:

Anonim

Dans ce tutoriel, vous apprendrez

  • Régression linéaire simple
  • La régression linéaire multiple
  • Variables continues
  • Régression des facteurs
  • Régression pas à pas
  • Apprentissage automatique
  • Enseignement supervisé
  • Apprentissage non supervisé

Régression linéaire simple

La régression linéaire répond à une question simple: pouvez-vous mesurer une relation exacte entre une variable cible et un ensemble de prédicteurs?

Le plus simple des modèles probabilistes est le modèle en ligne droite:

  • y = variable dépendante
  • x = variable indépendante
  • = composante d'erreur aléatoire
  • = intercepter
  • = Coefficient de x

Considérez l'intrigue suivante:

L'équation est l'interception. Si x est égal à 0, y sera égal à l'intersection, 4,77. est la pente de la ligne. Il indique dans quelle proportion y varie lorsque x varie.

Pour estimer les valeurs optimales de , vous utilisez une méthode appelée Moindres carrés ordinaires (MCO) . Cette méthode tente de trouver les paramètres qui minimisent la somme des erreurs au carré, c'est-à-dire la distance verticale entre les valeurs y prévues et les valeurs y réelles. La différence est connue sous le nom de terme d'erreur .

Avant d'estimer le modèle, vous pouvez déterminer si une relation linéaire entre y et x est plausible en traçant un nuage de points.

Nuage de points

Nous utiliserons un ensemble de données très simple pour expliquer le concept de régression linéaire simple. Nous importerons les hauteurs et poids moyens pour les femmes américaines. L'ensemble de données contient 15 observations. Vous voulez mesurer si les hauteurs sont positivement corrélées aux poids.

library(ggplot2)path <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/women.csv'df <-read.csv(path)ggplot(df,aes(x=height, y = weight))+geom_point()

Production:

Le nuage de points suggère une tendance générale de y à augmenter à mesure que x augmente. À l'étape suivante, vous mesurerez le montant des augmentations pour chaque supplément.

Estimations des moindres carrés

Dans une régression OLS simple, le calcul de est simple. Le but n'est pas de montrer la dérivation dans ce tutoriel. Vous n'écrirez que la formule.

Vous souhaitez estimer:

Le but de la régression OLS est de minimiser l'équation suivante:

est la valeur prévue.

La solution pour

Notez que cela signifie la valeur moyenne de x

La solution pour

Dans R, vous pouvez utiliser les fonctions cov () et var () pour estimer

beta <- cov(df$height, df$weight) / var (df$height)beta

Production:

##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)alpha

Production:

## [1] -87.51667

Le coefficient bêta implique que pour chaque hauteur supplémentaire, le poids augmente de 3,45.

L'estimation manuelle d'une équation linéaire simple n'est pas idéale. R fournit une fonction appropriée pour estimer ces paramètres. Vous verrez cette fonction sous peu. Avant cela, nous allons vous présenter comment calculer à la main un modèle de régression linéaire simple. Dans votre parcours de data scientist, vous estimerez à peine ou jamais un simple modèle linéaire. Dans la plupart des cas, les tâches de régression sont effectuées sur de nombreux estimateurs.

La régression linéaire multiple

Des applications plus pratiques de l'analyse de régression utilisent des modèles plus complexes que le simple modèle linéaire. Le modèle probabiliste qui comprend plus d'une variable indépendante est appelé modèles de régression multiple . La forme générale de ce modèle est:

En notation matricielle, vous pouvez réécrire le modèle:

La variable dépendante y est maintenant fonction de k variables indépendantes. La valeur du coefficient .

Nous introduisons brièvement l'hypothèse que nous avons faite sur l'erreur aléatoire de l'OLS:

  • Moyenne égale à 0
  • Variance égale à
  • Distribution normale
  • Les erreurs aléatoires sont indépendantes (au sens probabiliste)

Vous devez résoudre le vecteur des coefficients de régression qui minimisent la somme des erreurs au carré entre les valeurs y prévues et réelles.

La solution de forme fermée est:

avec:

  • indique la transposition de la matrice X
  • indique la matrice inversible

Nous utilisons le jeu de données mtcars. Vous connaissez déjà l'ensemble de données. Notre objectif est de prédire le mile par gallon sur un ensemble de fonctionnalités.

Variables continues

Pour l'instant, vous n'utiliserez que les variables continues et mettrez de côté les fonctionnalités catégorielles. La variable am est une variable binaire prenant la valeur 1 si la transmission est manuelle et 0 pour les voitures automatiques; vs est également une variable binaire.

library(dplyr)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))glimpse(df)

Production:

## Observations: 32## Variables: 6## $ mpg  21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19… .## $ disp  160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1… ## $ hp  110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180,… ## $ drat  3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9… ## $ wt  2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3… ## $ qsec  16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2… 

Vous pouvez utiliser la fonction lm () pour calculer les paramètres. La syntaxe de base de cette fonction est:

lm(formula, data, subset)Arguments:-formula: The equation you want to estimate-data: The dataset used-subset: Estimate the model on a subset of the dataset

N'oubliez pas qu'une équation est de la forme suivante

en R

  • Le symbole = est remplacé par ~
  • Chaque x est remplacé par le nom de la variable
  • Si vous souhaitez supprimer la constante, ajoutez -1 à la fin de la formule

Exemple:

Vous souhaitez estimer le poids des individus en fonction de leur taille et de leurs revenus. L'équation est

L'équation en R s'écrit comme suit:

y ~ X1 + X2 +… + Xn # Avec interception

Donc pour notre exemple:

  • Peser ~ hauteur + revenus

Votre objectif est d'estimer le mile par gallon en fonction d'un ensemble de variables. L'équation à estimer est:

Vous évaluerez votre première régression linéaire et stockerez le résultat dans l'objet d'ajustement.

model <- mpg~.disp + hp + drat + wtfit <- lm(model, df)fit

Explication du code

  • modèle <- mpg ~ . disp + hp + drat + wt: stocke le modèle pour estimer
  • lm (model, df): Estimer le modèle avec la base de données df
#### Call:## lm(formula = model, data = df)#### Coefficients:## (Intercept) disp hp drat wt## 16.53357 0.00872 -0.02060 2.01577 -4.38546## qsec## 0.64015

La sortie ne fournit pas suffisamment d'informations sur la qualité de l'ajustement. Vous pouvez accéder à plus de détails tels que la signification des coefficients, le degré de liberté et la forme des résidus avec la fonction summary ().

summary(fit)

Production:

## return the p-value and coefficient#### Call:## lm(formula = model, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.5404 -1.6701 -0.4264 1.1320 5.4996#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 16.53357 10.96423 1.508 0.14362## disp 0.00872 0.01119 0.779 0.44281## hp -0.02060 0.01528 -1.348 0.18936## drat 2.01578 1.30946 1.539 0.13579## wt -4.38546 1.24343 -3.527 0.00158 **## qsec 0.64015 0.45934 1.394 0.17523## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.558 on 26 degrees of freedom## Multiple R-squared: 0.8489, Adjusted R-squared: 0.8199## F-statistic: 29.22 on 5 and 26 DF, p-value: 6.892e-10

Inférence de la sortie du tableau ci-dessus

  • Le tableau ci-dessus prouve qu'il existe une forte relation négative entre le poids et le kilométrage et une relation positive avec le drat.
  • Seule la variable wt a un impact statistique sur les mpg. Rappelez-vous, pour tester une hypothèse en statistique, nous utilisons:
    • H0: pas d'impact statistique
    • H3: Le prédicteur a un impact significatif sur y
    • Si la valeur p est inférieure à 0,05, cela indique que la variable est statistiquement significative
  • R-carré ajusté: Variance expliquée par le modèle. Dans votre modèle, le modèle expliquait 82% de la variance de y. R au carré est toujours compris entre 0 et 1. Plus il est élevé, mieux c'est

Vous pouvez exécuter le test ANOVA pour estimer l'effet de chaque caractéristique sur les variances avec la fonction anova ().

anova(fit)

Production:

## Analysis of Variance Table#### Response: mpg## Df Sum Sq Mean Sq F value Pr(>F)## disp 1 808.89 808.89 123.6185 2.23e-11 ***## hp 1 33.67 33.67 5.1449 0.031854 *## drat 1 30.15 30.15 4.6073 0.041340 *## wt 1 70.51 70.51 10.7754 0.002933 **## qsec 1 12.71 12.71 1.9422 0.175233## Residuals 26 170.13 6.54## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Une manière plus conventionnelle d'estimer les performances du modèle consiste à afficher le résidu par rapport à différentes mesures.

Vous pouvez utiliser la fonction plot () pour afficher quatre graphiques:

- Valeurs résiduelles vs valeurs ajustées

- Graphique QQ normal: quartile théorique vs résidus standardisés

- Scale-Location: valeurs ajustées vs racines carrées des résidus normalisés

- Résiduels vs effet de levier: effet de levier vs résidus standardisés

Vous ajoutez le code par (mfrow = c (2,2)) avant plot (fit). Si vous n'ajoutez pas cette ligne de code, R vous invite à appuyer sur la commande Entrée pour afficher le graphique suivant.

par(mfrow=(2,2))

Explication du code

  • (mfrow = c (2,2)): renvoie une fenêtre avec les quatre graphiques côte à côte.
  • Les 2 premiers ajoutent le nombre de lignes
  • Le deuxième 2 ajoute le nombre de colonnes.
  • Si vous écrivez (mfrow = c (3,2)): vous allez créer une fenêtre 3 lignes 2 colonnes
plot(fit)

Production:

La formule lm () renvoie une liste contenant de nombreuses informations utiles. Vous pouvez y accéder avec l'objet fit que vous avez créé, suivi du signe $ et des informations que vous souhaitez extraire.

- coefficients: `fit $ coefficients`

- résidus: `fit $ résidus`

- valeur ajustée: `fit $ fit.values`

Régression des facteurs

Dans la dernière estimation du modèle, vous régressez mpg sur des variables continues uniquement. Il est simple d'ajouter des variables factorielles au modèle. Vous ajoutez la variable am à votre modèle. Il est important de s'assurer que la variable est un niveau de facteur et non continue.

df <- mtcars % > %mutate(cyl = factor(cyl),vs = factor(vs),am = factor(am),gear = factor(gear),carb = factor(carb))summary(lm(model, df))

Production:

#### Call:## lm(formula = model, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.5087 -1.3584 -0.0948 0.7745 4.6251#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 23.87913 20.06582 1.190 0.2525## cyl6 -2.64870 3.04089 -0.871 0.3975## cyl8 -0.33616 7.15954 -0.047 0.9632## disp 0.03555 0.03190 1.114 0.2827## hp -0.07051 0.03943 -1.788 0.0939 .## drat 1.18283 2.48348 0.476 0.6407## wt -4.52978 2.53875 -1.784 0.0946 .## qsec 0.36784 0.93540 0.393 0.6997## vs1 1.93085 2.87126 0.672 0.5115## am1 1.21212 3.21355 0.377 0.7113## gear4 1.11435 3.79952 0.293 0.7733## gear5 2.52840 3.73636 0.677 0.5089## carb2 -0.97935 2.31797 -0.423 0.6787## carb3 2.99964 4.29355 0.699 0.4955## carb4 1.09142 4.44962 0.245 0.8096## carb6 4.47757 6.38406 0.701 0.4938## carb8 7.25041 8.36057 0.867 0.3995## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.833 on 15 degrees of freedom## Multiple R-squared: 0.8931, Adjusted R-squared: 0.779## F-statistic: 7.83 on 16 and 15 DF, p-value: 0.000124

R utilise le premier niveau de facteur comme groupe de base. Vous devez comparer les coefficients de l'autre groupe avec le groupe de base.

Régression pas à pas

La dernière partie de ce didacticiel traite de l' algorithme de régression pas à pas . Le but de cet algorithme est d'ajouter et de supprimer des candidats potentiels dans les modèles et de conserver ceux qui ont un impact significatif sur la variable dépendante. Cet algorithme est significatif lorsque l'ensemble de données contient une grande liste de prédicteurs. Vous n'avez pas besoin d'ajouter et de supprimer manuellement les variables indépendantes. La régression pas à pas est conçue pour sélectionner les meilleurs candidats pour s'adapter au modèle.

Voyons en action comment cela fonctionne. Vous utilisez le jeu de données mtcars avec les variables continues uniquement à des fins d'illustration pédagogique. Avant de commencer l'analyse, il est bon d'établir des variations entre les données avec une matrice de corrélation. La bibliothèque GGally est une extension de ggplot2.

La bibliothèque comprend différentes fonctions pour afficher des statistiques récapitulatives telles que la corrélation et la distribution de toutes les variables d'une matrice. Nous utiliserons la fonction ggscatmat, mais vous pouvez vous référer à la vignette pour plus d'informations sur la bibliothèque GGally.

La syntaxe de base de ggscatmat () est:

ggscatmat(df, columns = 1:ncol(df), corMethod = "pearson")arguments:-df: A matrix of continuous variables-columns: Pick up the columns to use in the function. By default, all columns are used-corMethod: Define the function to compute the correlation between variable. By default, the algorithm uses the Pearson formula

Vous affichez la corrélation de toutes vos variables et décidez laquelle sera la meilleure candidate pour la première étape de la régression pas à pas. Il existe de fortes corrélations entre vos variables et la variable dépendante, mpg.

library(GGally)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))ggscatmat(df, columns = 1: ncol(df))

Production:

Régression pas à pas

La sélection des variables est un élément important pour ajuster un modèle. La régression pas à pas effectuera le processus de recherche automatiquement. Pour estimer le nombre de choix possibles dans l'ensemble de données, vous calculez avec k le nombre de prédicteurs. Le nombre de possibilités augmente avec le nombre de variables indépendantes. C'est pourquoi vous devez avoir une recherche automatique.

Vous devez installer le package olsrr de CRAN. Le package n'est pas encore disponible dans Anaconda. Par conséquent, vous l'installez directement à partir de la ligne de commande:

install.packages("olsrr")

Vous pouvez tracer tous les sous-ensembles de possibilités avec les critères d'ajustement (c'est-à-dire R-carré, R-carré ajusté, critères bayésiens). Le modèle avec les critères AIC les plus bas sera le modèle final.

library(olsrr)model <- mpg~.fit <- lm(model, df)test <- ols_all_subset(fit)plot(test)

Explication du code

  • mpg ~ .: Construisez le modèle à estimer
  • lm (model, df): exécuter le modèle OLS
  • ols_all_subset (fit): Construisez les graphiques avec les informations statistiques pertinentes
  • plot (test): tracer les graphiques

Production:

Les modèles de régression linéaire utilisent le test t pour estimer l'impact statistique d'une variable indépendante sur la variable dépendante. Les chercheurs ont fixé le seuil maximal à 10%, des valeurs plus faibles indiquant un lien statistique plus fort. La stratégie de la régression par étapes est construite autour de ce test pour ajouter et supprimer des candidats potentiels. L'algorithme fonctionne comme suit:

  • Étape 1: régresser chaque prédicteur sur y séparément. À savoir, régresser x_1 sur y, x_2 sur y vers x_n. Stockez la valeur p et conservez le régresseur avec une valeur p inférieure à un seuil défini (0,1 par défaut). Les prédicteurs dont la signification est inférieure au seuil seront ajoutés au modèle final. Si aucune variable n'a une valeur p inférieure au seuil d'entrée, l'algorithme s'arrête et vous obtenez votre modèle final avec une constante uniquement.
  • Étape 2: Utilisez le prédicteur avec la valeur p la plus faible et ajoutez séparément une variable. Vous régressez une constante, le meilleur prédicteur de la première étape et une troisième variable. Vous ajoutez au modèle pas à pas, les nouveaux prédicteurs avec une valeur inférieure au seuil d'entrée. Si aucune variable n'a une valeur p inférieure à 0,1, l'algorithme s'arrête et vous avez votre modèle final avec un seul prédicteur. Vous régressez le modèle par étapes pour vérifier la signification des meilleurs prédicteurs de l'étape 1. S'il est supérieur au seuil de suppression, vous le conservez dans le modèle pas à pas. Sinon, vous l'excluez.
  • Étape 3: Vous répliquez l'étape 2 sur le nouveau meilleur modèle pas à pas. L'algorithme ajoute des prédicteurs au modèle pas à pas en fonction des valeurs d'entrée et exclut le prédicteur du modèle pas à pas s'il ne satisfait pas le seuil d'exclusion.
  • L'algorithme continue jusqu'à ce qu'aucune variable ne puisse être ajoutée ou exclue.

Vous pouvez exécuter l'algorithme avec la fonction ols_stepwise () du package olsrr.

ols_stepwise(fit, pent = 0.1, prem = 0.3, details = FALSE)

arguments:

-fit: Model to fit. Need to use `lm()`before to run `ols_stepwise()-pent: Threshold of the p-value used to enter a variable into the stepwise model. By default, 0.1-prem: Threshold of the p-value used to exclude a variable into the stepwise model. By default, 0.3-details: Print the details of each step

Avant cela, nous vous montrons les étapes de l'algorithme. Voici un tableau avec les variables dépendantes et indépendantes:

Variable dépendante

Variables indépendantes

mpg

disp

hp

drat

wt

qsec

Début

Pour commencer, l'algorithme commence par exécuter le modèle sur chaque variable indépendante séparément. Le tableau montre la valeur p pour chaque modèle.

## [[1]]## (Intercept) disp## 3.576586e-21 9.380327e-10#### [[2]]## (Intercept) hp## 6.642736e-18 1.787835e-07#### [[3]]## (Intercept) drat## 0.1796390847 0.0000177624#### [[4]]## (Intercept) wt## 8.241799e-19 1.293959e-10#### [[5]## (Intercept) qsec## 0.61385436 0.01708199

Pour entrer dans le modèle, l'algorithme conserve la variable avec la valeur p la plus faible. À partir de la sortie ci-dessus, c'est wt

Étape 1

Dans la première étape, l'algorithme exécute mpg sur wt et les autres variables indépendamment.

## [[1]]## (Intercept) wt disp## 4.910746e-16 7.430725e-03 6.361981e-02#### [[2]]## (Intercept) wt hp## 2.565459e-20 1.119647e-06 1.451229e-03#### [[3]]## (Intercept) wt drat## 2.737824e-04 1.589075e-06 3.308544e-01#### [[4]]## (Intercept) wt qsec## 7.650466e-04 2.518948e-11 1.499883e-03

Chaque variable est un candidat potentiel pour entrer dans le modèle final. Cependant, l'algorithme ne conserve que la variable avec la valeur p la plus faible. Il s'avère que hp a une valeur p légèrement inférieure à qsec. Par conséquent, hp entre dans le modèle final

Étape 2

L'algorithme répète la première étape mais cette fois avec deux variables indépendantes dans le modèle final.

## [[1]]## (Intercept) wt hp disp## 1.161936e-16 1.330991e-03 1.097103e-02 9.285070e-01#### [[2]]## (Intercept) wt hp drat## 5.133678e-05 3.642961e-04 1.178415e-03 1.987554e-01#### [[3]]## (Intercept) wt hp qsec## 2.784556e-03 3.217222e-06 2.441762e-01 2.546284e-01

Aucune des variables qui sont entrées dans le modèle final n'a une valeur de p suffisamment faible. L'algorithme s'arrête ici; nous avons le modèle final:

#### Call:## lm(formula = mpg ~ wt + hp, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.941 -1.600 -0.182 1.050 5.854#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 37.22727 1.59879 23.285 < 2e-16 ***## wt -3.87783 0.63273 -6.129 1.12e-06 ***## hp -0.03177 0.00903 -3.519 0.00145 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.593 on 29 degrees of freedom## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148## F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12 

Vous pouvez utiliser la fonction ols_stepwise () pour comparer les résultats.

stp_s <-ols_stepwise(fit, details=TRUE)

Production:

L'algorithme trouve une solution après 2 étapes et renvoie la même sortie que celle que nous avions auparavant.

À la fin, vous pouvez dire que les modèles sont expliqués par deux variables et une interception. Le mille par gallon est négativement corrélé avec la puissance brute et le poids

## You are selecting variables based on p value… ## 1 variable(s) added… .## Variable Selection Procedure## Dependent Variable: mpg#### Stepwise Selection: Step 1#### Variable wt Entered#### Model Summary## --------------------------------------------------------------## R 0.868 RMSE 3.046## R-Squared 0.753 Coef. Var 15.161## Adj. R-Squared 0.745 MSE 9.277## Pred R-Squared 0.709 MAE 2.341## --------------------------------------------------------------## RMSE: Root Mean Square Error## MSE: Mean Square Error## MAE: Mean Absolute Error## ANOVA## --------------------------------------------------------------------## Sum of## Squares DF Mean Square F Sig.## --------------------------------------------------------------------## Regression 847.725 1 847.725 91.375 0.0000## Residual 278.322 30 9.277## Total 1126.047 31## --------------------------------------------------------------------#### Parameter Estimates## ----------------------------------------------------------------------------------------## model Beta Std. Error Std. Beta t Sig lower upper## ----------------------------------------------------------------------------------------## (Intercept) 37.285 1.878 19.858 0.000 33.450 41.120## wt -5.344 0.559 -0.868 -9.559 0.000 -6.486 -4.203## ----------------------------------------------------------------------------------------## 1 variable(s) added… ## Stepwise Selection: Step 2#### Variable hp Entered#### Model Summary## --------------------------------------------------------------## R 0.909 RMSE 2.593## R-Squared 0.827 Coef. Var 12.909## Adj. R-Squared 0.815 MSE 6.726## Pred R-Squared 0.781 MAE 1.901## --------------------------------------------------------------## RMSE: Root Mean Square Error## MSE: Mean Square Error## MAE: Mean Absolute Error## ANOVA## --------------------------------------------------------------------## Sum of## Squares DF Mean Square F Sig.## --------------------------------------------------------------------## Regression 930.999 2 465.500 69.211 0.0000## Residual 195.048 29 6.726## Total 1126.047 31## --------------------------------------------------------------------#### Parameter Estimates## ----------------------------------------------------------------------------------------## model Beta Std. Error Std. Beta t Sig lower upper## ----------------------------------------------------------------------------------------## (Intercept) 37.227 1.599 23.285 0.000 33.957 40.497## wt -3.878 0.633 -0.630 -6.129 0.000 -5.172 -2.584## hp -0.032 0.009 -0.361 -3.519 0.001 -0.050 -0.013## ----------------------------------------------------------------------------------------## No more variables to be added or removed.

Apprentissage automatique

L'apprentissage automatique est de plus en plus répandu parmi les data scientist et est déployé dans des centaines de produits que vous utilisez quotidiennement. L'une des premières applications ML était le filtre anti-spam .

Voici d'autres applications de l'apprentissage automatique-

  • Identification des spams indésirables dans les e-mails
  • Segmentation du comportement des clients pour la publicité ciblée
  • Réduction des transactions frauduleuses par carte de crédit
  • Optimisation de la consommation d'énergie dans la maison et l'immeuble de bureaux
  • La reconnaissance faciale

Enseignement supervisé

Dans l' apprentissage supervisé , les données d'entraînement que vous fournissez à l'algorithme comprennent une étiquette.

La classification est probablement la technique d'apprentissage supervisé la plus utilisée. L'une des premières tâches de classification auxquelles les chercheurs se sont attaqués était le filtre anti-spam. L'objectif de l'apprentissage est de prédire si un e-mail est classé comme spam ou ham (bon e-mail). La machine, après l'étape de formation, peut détecter la classe d'email.

Les régressions sont couramment utilisées dans le domaine de l'apprentissage automatique pour prédire la valeur continue. La tâche de régression peut prédire la valeur d'une variable dépendante en fonction d'un ensemble de variables indépendantes (également appelées prédicteurs ou régresseurs). Par exemple, les régressions linéaires peuvent prédire le cours d'une action, les prévisions météorologiques, les ventes, etc.

Voici la liste de quelques algorithmes d'apprentissage supervisé fondamentaux.

  • Régression linéaire
  • Régression logistique
  • Voisins les plus proches
  • Machine à vecteurs de soutien (SVM)
  • Arbres de décision et forêt aléatoire
  • Les réseaux de neurones

Apprentissage non supervisé

Dans l'apprentissage non supervisé , les données d'entraînement ne sont pas étiquetées. Le système essaie d'apprendre sans référence. Vous trouverez ci-dessous une liste d'algorithmes d'apprentissage non supervisés.

  • K-moyenne
  • Analyse de cluster hiérarchique
  • Maximisation des attentes
  • Visualisation et réduction de la dimensionnalité
  • Analyse des composants principaux
  • PCA du noyau
  • Incorporation localement linéaire

Résumé

La régression ordinaire des moindres carrés peut être résumée dans le tableau ci-dessous:

Bibliothèque

Objectif

Fonction

Arguments

base

Calculer une régression linéaire

lm ()

formule, données

base

Résumer le modèle

résumer()

ajuster

base

Coefficients exacts

lm () $ coefficient

base

Extraire les résidus

lm () $ résiduels

base

Valeur ajustée exacte

lm () $ fit.values

olsrr

Exécuter une régression pas à pas

ols_stepwise ()

fit, pent = 0,1, prem = 0,3, détails = FALSE

Remarque : n'oubliez pas de transformer la variable catégorielle en facteur avant de l'adapter au modèle.