Caractéristiques des variables : l’amplitude

L’amplitude de la variable a-t-elle de l’importance ?

Les modèles linéaires sont du type y = w x + b, où le coefficient de régression w représente la variation attendue en y pour une variation d’une unité en x (le prédicteur). Ainsi, l’amplitude de w est en partie déterminée par la magnitude des unités utilisées pour x. Si x est une variable de distance, le simple fait de changer l’échelle des kilomètres en mètres entraînera un changement dans la magnitude du coefficient.

En outre, dans les situations où nous estimons le résultat y en envisageant plusieurs prédicteurs x1, x2, …xn, les prédicteurs ayant des plages numériques plus grandes dominent sur ceux ayant des plages numériques plus petites.

La descente de gradient converge plus rapidement lorsque tous les prédicteurs (x1 à xn) se trouvent dans une échelle similaire, donc le fait d’avoir des caractéristiques dans une échelle similaire est utile pour les réseaux neuronaux.

Dans les Support Vector Machines, l’échelle des caractéristiques peut réduire le temps nécessaire pour trouver les vecteurs de soutien.

Enfin, les méthodes utilisant des distances euclidiennes ou des distances en général sont également affectées par la magnitude des caractéristiques, car la distance euclidienne est sensible aux variations de l’ampleur ou des échelles des prédicteurs. C’est pourquoi une mise à l’échelle des caractéristiques est nécessaire pour les méthodes qui utilisent des calculs de distance comme le voisinage le plus proche (KNN) et le regroupement des moyennes k.

En résumé :

L’amplitude est importante parce que :

  • Le coefficient de régression est directement influencé par l’échelle de la variable
  • Les variables ayant une plus grande amplitude / plage de valeurs dominent sur celles ayant une plus petite amplitude / plage de valeurs
  • La descente de la pente converge plus rapidement lorsque les caractéristiques sont à des échelles similaires
  • La mise à l’échelle des fonctionnalités permet de réduire le temps nécessaire pour trouver des vecteurs de soutien aux MVC
  • Les distances euclidiennes sont sensibles à la magnitude des caractéristiques.

Les modèles d’apprentissage machine affectés par l’amplitude sont :

  • Régression linéaire et logistique
  • Réseaux de neurones
  • SVM
  • KNN
  • K-means clustering
  • Analyse discriminante linéaire (LDA)
  • Analyse en composantes principales (ACP)

Les modèles d’apprentissage machine insensibles à la magnitude des caractéristiques sont ceux basés sur les arbres :

  • Arbres de classification et de régression
  • Forêts au hasard
  • Arbres renforcés par des gradients

Charger les données avec des variables numériques uniquement

On peut voir que l’allocation varie entre 1 et 1000000, le nombre de partants entre 2 et 18 et la place entre 0 et 1. Les variables ont donc une amplitude différente.

Mise à l’échelle

 

Pour cette démonstration, j’échelonnerai les variables entre 0 et 1, en utilisant le MinMaxScaler de scikit-learn. Pour en savoir plus sur cette mise à l’échelle, visitez le site web de Scikit-Learn website

La transformation est donnée par :

X_rescaling = X – X.min() / (X.max – X.min()

Et pour ramener les éléments redimensionnés à leur taille d’origine :

X = X_rescalé * (max – min) + min

Il y aura une section consacrée à la mise à l’échelle plus tard, où j’expliquerai plus en détail cette technique et d’autres techniques de mise à l’échelle.

Pour l’instant, poursuivons la démonstration.

Maintenant, la valeur maximale pour toutes les caractéristiques est de 1, et la valeur minimale est de zéro, comme prévu. Elles se situent donc dans une échelle plus proche.

 

Regression Logistique

Evaluons l’effet de la mise à l’échelle des varibles dans une régression logistique.

Nous observons que la performance de la régression logistique a changé lorsque nous avons utilisé les ensembles de données avec les variables mises à l’échelle (comparer les valeurs roc-auc pour le train et l’ensemble de test pour les modèles avec et sans mise à l’échelle des variables).

Toutefois, en examinant les coefficients, nous constatons une grande différence dans les valeurs. Cela s’explique par le fait que l’ampleur de la variable a eu une incidence sur les coefficients. Après la mise à l’échelle, les trois variables ont relativement le même effet (coefficient) sur la survie, alors qu’avant la mise à l’échelle, nous serions enclins à penser que c’est la PClass qui est à l’origine du résultat de survie.

 

Support Vector Machines

La mise à l’échelle des variables a amélioré les performances de la machine à vecteurs de support. On peut voir que le modèle avec les données mises à l’échelle est beaucoup fiable que le premier. Au niveau de la différence entre les résultats de l’entrainement et de test.

 

K-Nearest Neighbours

Nous observons pour KNN que la mise à l’échelle des caractéristiques n’a pas amélioré les performances du modèle.

 

Random Forests

Comme prévu, Random Forests ne montre aucun changement de performance, qu’il soit formé sur un ensemble de données avec des variables à l’échelle ou non. Ce modèle, en particulier, est trop adapté à l’ensemble de formation. Nous devons donc faire des efforts pour supprimer ce sur-ajustement. Cela dépasse la portée de cette démonstration.

Si vous voulez découvrir comment fonctionne la librairie pandas ou bien l’environnement Jupyter, n’hésitez pas à consulter les cours ci-dessous.

GCH anime

Je télécharge mon guide gratuit

.

Vous recevrez votre guide par email sans aucun engagement de votre part.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.