Traiter les valeurs aberrantes
Fait partie de la section Statistiques pour le ML du Journey Machine Learning de Coddy. Leçon 27 sur 64.
Dix appartements ont utilisé environ 10 m³ d’eau chacun, mais une fuite a fait monter la consommation de l’un d’eux à 64. Tu peux l’exclure ou la plafonner à la valeur limite la plus proche :
np.clip(a, low, high) plafonne un tableau entier :
water = np.array([8, 11, 9, 10, 12, 9, 64, 10, 11, 8])
low, high = 6.0, 14.0 # les bornes de l’écart interquartile
dropped = water[(water >= low) & (water <= high)]
capped = np.clip(water, low, high)
print(len(dropped), len(capped))
print(capped)Cela affiche :
9 10
[ 8. 11. 9. 10. 12. 9. 14. 10. 11. 8.]Un modèle poursuivrait cette valeur aberrante unique, alors décidez avant l’entraînement. Corrigez ou supprimez les erreurs de frappe ; conservez ou plafonnez les valeurs extrêmes réelles. Ne supprimez jamais silencieusement : indiquez combien vous en avez modifié.
Défi
MoyenUne application de cyclisme a enregistré les vitesses moyennes de 15 trajets dans speeds ; deux semblent anormales. Le code de départ a placé les bornes de l’IQR dans low et high.
- Construis
dropped, qui contient les vitesses comprises entre les bornes (incluses), ainsi quecapped. - Affiche une ligne pour chacune des méthodes keep, drop et cap : le nombre de trajets, leur moyenne et leur
.std(), arrondis à 2 décimales. - Affiche le nombre de trajets modifiés par le plafonnement.
Pour les 10 trajets d’un autre cycliste :
Keep: 10 rides, mean 21.38, std 6.58
Drop: 9 rides, mean 19.2, std 0.77
Cap: 10 rides, mean 19.45, std 1.04
Capping changed 1 of 10 ridesEssayez vous-même
import numpy as np
# Renvoie les bornes IQR inférieure et supérieure d'un tableau
def iqr_fences(a):
q1 = np.percentile(a, 25)
q3 = np.percentile(a, 75)
iqr = q3 - q1
return q1 - 1.5 * iqr, q3 + 1.5 * iqr
speeds = np.array([24.5, 22.8, 26.1, 23.9, 3.1, 25.4, 21.7, 24.2, 27.3, 78.4, 23.1, 25.8, 22.4, 24.9, 26.6])
low, high = iqr_fences(speeds)
# É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