Umgang mit Ausreißern
Teil des Abschnitts Statistik für ML der Machine Learning-Journey von Coddy. Lektion 27 von 64.
Zehn Wohnungen verbrauchten jeweils etwa 10 m³ Wasser, aber ein Leck ließ den Verbrauch einer Wohnung auf 64 steigen. Du kannst den Wert weglassen oder ihn auf den nächsten Grenzwert begrenzen:
np.clip(a, low, high) begrenzt ein ganzes Array:
water = np.array([8, 11, 9, 10, 12, 9, 64, 10, 11, 8])
low, high = 6.0, 14.0 # die IQR-Grenzen
dropped = water[(water >= low) & (water <= high)]
capped = np.clip(water, low, high)
print(len(dropped), len(capped))
print(capped)Dies gibt Folgendes aus:
9 10
[ 8. 11. 9. 10. 12. 9. 14. 10. 11. 8.]Ein Modell würde diesem einzelnen Flat-Wert hinterherjagen, also entscheide vor dem Training. Korrigiere Tippfehler oder entferne sie; behalte echte Extremwerte bei oder begrenze sie. Lösche niemals stillschweigend: Gib an, wie viele du geändert hast.
Aufgabe
MittelEine Fahrrad-App hat die Durchschnittsgeschwindigkeiten von 15 Fahrten in speeds erfasst; zwei sehen ungewöhnlich aus. Im Startercode wurden die IQR-Grenzen in low und high gespeichert.
- Erstelle
droppedmit den Geschwindigkeiten innerhalb der Grenzen (beide eingeschlossen) undcapped. - Gib jeweils eine Zeile für „beibehalten“, „verwerfen“ und „begrenzen“ aus: die Fahrten, ihren Mittelwert und ihre
.std(), auf 2 Dezimalstellen gerundet. - Gib aus, wie viele Fahrten durch das Begrenzen geändert wurden.
Für 10 Fahrten eines anderen Radfahrers:
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 ridesProbier es selbst
import numpy as np
# Gibt die untere und obere IQR-Grenze eines Arrays zurück
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)
# Schreibe deinen Code unten
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Statistik für ML
1Lage und Streuung
Mittelwert und MedianPerzentile und QuartileVarianz und StandardabweichungStichprobe oder Grundgesamtheit?Der häufigste WertRückblick: Lieferzeiten4Stichproben und Grundgesamtheiten
Grundgesamtheit und StichprobeStichprobenmittelwerte variierenDie StichprobenverteilungGrößere Stichproben, weniger ZufallRückblick: Eine Stadt befragen2Verteilungen
DichtehistogrammeDatenverteilungenDie NormalverteilungskurveDie 68-95-99,7-RegelZ-WerteRückblick: Akkulaufzeit3Wahrscheinlichkeit durch Simulation
Wahrscheinlichkeit als HäufigkeitDas Gesetz der großen ZahlenAugensummen beim WürfelnErwartungswertBedingte WahrscheinlichkeitRückblick: Gewinnchancen am Würfelstand6Zusammenhänge
Streudiagramme lesenKorrelationKorrelationsmatrixKorrelations-HeatmapsKorrelation ist keine KausalitätRückblick: Eiscreme und SonneÜbe selbstständig: Online-Python-Compiler