Die zwei besten Merkmale
Teil des Abschnitts Statistik für ML der Machine Learning-Journey von Coddy. Lektion 59 von 64.
Hier ist die Abbildung, die dieses Kapitel versprochen hat: die beiden aussagekräftigsten Merkmale als Mittelwerte in einem Streudiagramm, eine Farbe pro Klasse.
Gutartige Proben häufen sich unten links, bösartige verteilen sich nach oben und rechts. Wo die Wolken aufeinandertreffen, wird ein Modell, das dieses Paar verwendet, seine Fehler machen.
Noch eine Prüfung: Sind die beiden fast identisch?
first = strength.index[0]
second = strength.index[1]
print(np.round(df[first].corr(df[second]), 2))Das gibt 0.85 aus: verwandt, aber keine Kopien. Bei 0.99 würde das zweite Merkmal das erste wiederholen und kaum etwas Neues hinzufügen.
Aufgabe
Mittelerror-Merkmale messen, wie stark ein Messwert zwischen den Zellen einer Stichprobe variierte. Können die zwei stärksten die Klassen unterscheiden? Der Starter-Code ordnet sie first und second zu; label(ax) benennt das Diagramm.
- Gib
r between them:und ihren r-Wert mit 2 Dezimalstellen aus. - Zeichne für jede Klasse ein Streudiagramm, mit
firstauf der x-Achse und beschriftet mit dem Klassennamen. - Rufe
label(ax)auf, füge eine Legende hinzu und zeige das Diagramm an.
So sieht es für das stärkste Paar worst aus (r 0.82):
Beurteile dann dein Diagramm: getrennte Punktwolken? Und sind sie angesichts deines r redundant?
Probier es selbst
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
y = cancer.target
# Die zehn Fehlermerkmale: wie stark jede Messung zwischen den Zellen einer Probe variierte
X = cancer.data[cancer.feature_names[10:20]]
# Nach Stärke sortiert: first und second sind die beiden stärksten
strength = np.abs(X.corrwith(y)).sort_values(ascending=False)
first = strength.index[0]
second = strength.index[1]
# Legt den Titel des Diagramms fest und benennt die Achsen nach dem Paar
def label(ax):
ax.set_title("Error Features")
ax.set_xlabel(first)
ax.set_ylabel(second)
# 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: Akkulaufzeit8Gruppen vergleichen
Boxplots nach GruppenUnterschied der MittelwerteKönnte es Zufall sein?p-WerteDer t-TestRückblick: A/B-Test11Einen Datensatz erkunden
Ein erster BlickAlle Merkmale auf einmalMerkmale im Vergleich zum LabelDie zwei besten MerkmaleRückblick: Diabetesdaten3Wahrscheinlichkeit 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