Menu
CoddyTech

Caractéristiques et étiquette

Fait partie de la section Statistiques pour le ML du Journey Machine Learning de Coddy. Leçon 58 sur 64.

Quelles caractéristiques évoluent avec l’étiquette ? Calcule leur corrélation avec celle-ci (0 pour malin et 1 pour bénin), puis classe-les par intensité :

Barres horizontales de r pour les dix caractéristiques moyennes des données tissulaires, de la plus forte en haut : points concaves moyens -0.78, périmètre moyen -0.74, rayon moyen -0.73, jusqu’à la dimension fractale moyenne à 0.01

X.corrwith(y) donne le r de chaque caractéristique en une seule fois :

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))

Cela affiche :

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

Un r négatif signifie que la caractéristique est plus élevée dans la classe 0 : les cellules malignes ont davantage de points concaves. np.abs classe selon l’intensité, quel que soit le signe.

Près de 0, comme la dimension fractale, une caractéristique diffère à peine entre les classes : c’est une candidate à exclure.

challenge icon

Défi

Moyen

Quelles caractéristiques tissulaires un modèle devrait-il essayer en premier ? Les entrées sont un groupe, error ou worst, et k ; le code de départ place les caractéristiques du groupe dans X.

  1. Classe les caractéristiques selon l’intensité de leur corrélation r avec y.
  2. Affiche les k premières avec leur corrélation r signée, à 2 décimales.
  3. Vérifie le signe : affiche les moyennes par classe de la caractéristique la plus forte.

Pour le groupe mean et 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

Essayez vous-même

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
# Les dix caractéristiques du groupe : mean, error ou worst
start = {"mean": 0, "error": 10, "worst": 20}[group]
X = cancer.data[cancer.feature_names[start:start + 10]]

# Écrivez votre code ci-dessous
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur Python en ligne