Mise à l’échelle Min-Max
Fait partie de la section Statistiques pour le ML du Journey Machine Learning de Coddy. Leçon 48 sur 64.
La normalisation min-max donne à chaque caractéristique une juste place : dans chaque colonne, la plus petite valeur devient 0, la plus grande 1, et les autres se situent entre les deux.
Ajoutez une personne de 40 ans gagnant 80 000 $, puis normalisez les quatre valeurs :
La diffusion le fait sur une seule ligne, avec la valeur minimale et l’étendue propres à chaque colonne :
X = np.array([[25, 52000],
[61, 53000],
[26, 55000],
[40, 80000]])
lows = X.min(axis=0)
highs = X.max(axis=0)
scaled = (X - lows) / (highs - lows)L’âge compte maintenant aussi. Le voisin le plus proche du client 0 n’est plus celui de 61 ans :
Une valeur extrême devient 1 et rapproche le reste de 0, donc la normalisation min-max convient aux colonnes sans valeurs aberrantes.
Défi
MoyenUn torréfacteur associe les cafés qui s’infusent de manière similaire. Chaque ligne de beans correspond à un café : température de l’eau (C), durée d’infusion (s) et caféine (mg). Le programme lit les positions i et j ; la fonction distance(a, b) fournie dans le code de départ mesure la distance entre deux échantillons.
- Appliquez une mise à l’échelle min-max à
beans. - Affichez
Every column from 0 to 1:, puis le tableau mis à l’échelle avec 2 décimales. - Affichez leur distance avant et après la mise à l’échelle, comme ci-dessous.
Pour trois autres cafés, aux positions 0 et 1 :
Every column from 0 to 1:
[[1. 1. 0.67]
[0.5 0.5 0. ]
[0. 0. 1. ]]
Coffees 0 and 1: 63.28 apart before scaling, 0.97 afterEssayez vous-même
import numpy as np
# Renvoie la distance entre deux échantillons (tiré de Why Scale Features)
def distance(a, b):
return np.sqrt(((a - b) ** 2).sum())
# Une ligne par café : température de l’eau en C, temps d’infusion en secondes, caféine en mg
beans = np.array([[88, 120, 60],
[96, 300, 30],
[86, 90, 70],
[94, 240, 120],
[90, 180, 90],
[84, 60, 50]])
i = int(input())
j = int(input())
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Statistiques pour le ML
1Centre et dispersion
Moyenne et médianePercentiles et quartilesVariance et écart-typeÉchantillon ou population ?La valeur la plus fréquenteRécapitulatif : délais de livraison4Échantillons et populations
Population et échantillonLes moyennes d’échantillon varientLa distribution d’échantillonnageDes échantillons plus grands, moins de bruitRécapitulatif : sonder une ville2Distributions
Histogrammes de densitéFormes des donnéesLa courbe normaleLa règle des 68-95-99,7Scores zRécapitulatif : autonomie de la batterie5Valeurs aberrantes
Diagrammes en boîteLa règle de l’écart interquartileLa règle du score ZTraiter les valeurs aberrantesRécapitulatif : anomalies des capteurs3Les probabilités par simulation
La probabilité comme fréquenceLa loi des grands nombresSommes de désEspérance mathématiqueProbabilité conditionnelleRécapitulatif : les chances au stand de dés6Relations
Lire des nuages de pointsCorrélationMatrice de corrélationCartes thermiques de corrélationCorrélation n’est pas causalitéRécapitulatif : glace et soleil9Mise à l’échelle des caractéristiques
Pourquoi mettre les caractéristiques à l’échelleMise à l’échelle Min-MaxStandardisationStandardScalerRécapitulatif : partenaires d’escaladeEntraînez-vous par vous-même : Compilateur Python en ligne