Menu
CoddyTech

Merkmale im Vergleich zum Label

Teil des Abschnitts Statistik für ML der Machine Learning-Journey von Coddy. Lektion 58 von 64.

Welche Merkmale verändern sich mit dem Label? Korreliere jedes davon damit, mit 0 für bösartig und 1 für gutartig, und ordne sie nach Stärke:

Horizontale Balken für r der zehn Mittelwertmerkmale der Gewebedaten, stärkstes oben: mittlere konkave Punkte -0.78, mittlerer Umfang -0.74, mittlerer Radius -0.73, bis hin zur mittleren fraktalen Dimension bei 0.01

X.corrwith(y) liefert auf einmal das r jedes Merkmals:

X = cancer.data[cancer.feature_names[:10]]
r = X.corrwith(cancer.target)
strength = np.abs(r).sort_values(ascending=False)
for name in strength.index[:3]:
    print(name, np.round(r[name], 2))

Dies gibt aus:

mean concave points -0.78
mean perimeter -0.74
mean radius -0.73

Ein negatives r bedeutet, dass das Merkmal in Klasse 0 größer ist: Bösartige Zellen haben mehr konkave Punkte. np.abs ordnet nach Stärke, unabhängig vom Vorzeichen.

Nahe 0 unterscheidet sich ein Merkmal, ähnlich wie die fraktale Dimension, kaum zwischen den Klassen: ein Kandidat zum Weglassen.

challenge icon

Aufgabe

Mittel

Welche Gewebemerkmale sollte ein Modell zuerst ausprobieren? Die Eingaben sind eine Gruppe, error oder worst, und k; im Startcode werden die Merkmale der Gruppe in X gespeichert.

  1. Ordne die Merkmale nach der Stärke ihrer Korrelation r mit y.
  2. Gib die besten k mit ihrem vorzeichenbehafteten r auf 2 Dezimalstellen aus.
  3. Überprüfe das Vorzeichen: Gib die Klassenmittelwerte des stärksten Merkmals aus.

Für die Gruppe mean und k = 2:

Top 2 mean features:
mean concave points: -0.78
mean perimeter: -0.74
mean concave points by class: malignant 0.09, benign 0.03

Probier es selbst

import numpy as np
from sklearn.datasets import load_breast_cancer

group = input()
k = int(input())
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
y = cancer.target
# Die zehn Merkmale der Gruppe: mean, error oder worst
start = {"mean": 0, "error": 10, "worst": 20}[group]
X = cancer.data[cancer.feature_names[start:start + 10]]

# Schreibe deinen Code unten
quiz iconTeste dich selbst

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

Übe selbstständig: Online-Python-Compiler