Menu
CoddyTech

Atributos em relação ao rótulo

Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 58 de 64.

Quais características variam junto com o rótulo? Correlacione cada uma com ele, 0 para maligno e 1 para benigno, e ordene-as por intensidade:

Barras horizontais de r para as dez características médias dos dados do tecido, da mais forte no topo: pontos côncavos médios -0.78, perímetro médio -0.74, raio médio -0.73, até a dimensão fractal média em 0.01

X.corrwith(y) fornece o r de cada característica de uma só vez:

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

Isso imprime:

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

Um r negativo significa que a característica é maior na classe 0: as células malignas têm mais pontos côncavos. np.abs classifica pela intensidade, independentemente do sinal.

Perto de 0, assim como a dimensão fractal, uma característica mal difere entre as classes: uma candidata a ser excluída.

challenge icon

Desafio

Médio

Quais características do tecido um modelo deve testar primeiro? As entradas são um grupo, error ou worst, e k; o código inicial coloca as características do grupo em X.

  1. Classifique as características pela intensidade de sua correlação r com y.
  2. Imprima as k primeiras com seus valores de r com sinal, com 2 casas decimais.
  3. Verifique o sinal: imprima as médias por classe da característica mais forte.

Para o grupo mean e 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

Experimente você mesmo

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
# As dez características do grupo: mean, error ou worst
start = {"mean": 0, "error": 10, "worst": 20}[group]
X = cancer.data[cancer.feature_names[start:start + 10]]

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Estatística para ML

Pratique por conta própria: Compilador de Python online