Las dos mejores características
Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 59 de 64.
Aquí está la imagen que prometía este capítulo: las dos características medias más potentes en un único diagrama de dispersión, un color por clase.
Las muestras benignas se concentran en la parte inferior izquierda, y las malignas se extienden hacia arriba y a la derecha. Donde se encuentran las nubes, un modelo que use este par cometerá sus errores.
Una comprobación más: ¿son las dos casi copias?
first = strength.index[0]
second = strength.index[1]
print(np.round(df[first].corr(df[second]), 2))Esto imprime 0.85: relacionadas, no copias. Con 0.99, la segunda característica repetiría la primera y no aportaría casi nada nuevo.
Desafío
IntermedioLas características error miden cuánto varió una medición entre las células de una muestra. ¿Pueden las dos más fuertes distinguir las clases? El código inicial las clasifica en first y second; label(ax) nombra el gráfico.
- Imprime
r between them:y su r, con 2 decimales. - Dibuja un diagrama de dispersión por clase, con
firsten el eje horizontal y etiquetado con el nombre de la clase. - Llama a
label(ax), añade una leyenda y muéstralo.
Así, para el par worst más fuerte (r 0.82):
Ahora evalúa tu gráfico: ¿hay nubes separadas? Y con tu r, ¿son copias?
Pruébalo tú mismo
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
# Las diez características de error: cuánto varió cada medición entre las células de una muestra
X = cancer.data[cancer.feature_names[10:20]]
# Ordenadas por intensidad: first y second son las dos más fuertes
strength = np.abs(X.corrwith(y)).sort_values(ascending=False)
first = strength.index[0]
second = strength.index[1]
# Establece el título del gráfico y asigna a los ejes los nombres del par
def label(ax):
ax.set_title("Error Features")
ax.set_xlabel(first)
ax.set_ylabel(second)
# Escribe tu código a continuación
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Estadística para ML
1Centro y dispersión
Media y medianaPercentiles y cuartilesVarianza y desviación estándar¿Muestra o población?El valor más frecuenteRepaso: tiempos de entrega4Muestras y poblaciones
Población y muestraLas medias muestrales varíanLa distribución muestralMuestras más grandes, menos ruidoRepaso: Encuestar a un pueblo7Líneas de tendencia
ResiduosAjuste por mínimos cuadradosTrazar el ajustePredecir con una línea¿Qué tan bueno es el ajuste?Repaso: horas de práctica10Codificación de categorías
Categorías como númerosCodificación one-hotAgrupación de números en intervalosRepaso: anuncios de autos2Distribuciones
Histogramas de densidadFormas de los datosCurva normalRegla del 68-95-99,7Puntuaciones zRepaso: duración de la batería5Valores atípicos
Diagramas de cajaLa regla del RICLa regla del valor ZTratamiento de valores atípicosRepaso: fallos de los sensores8Comparación de grupos
Diagramas de caja por grupoDiferencia de medias¿Podría ser azar?Valores pLa prueba tRepaso: prueba A/B11Exploración de un conjunto de datos
Una primera miradaTodas las características a la vezCaracterísticas frente a la etiquetaLas dos mejores característicasRepaso: datos sobre la diabetes3Probabilidad mediante simulación
La probabilidad como frecuenciaLa ley de los grandes númerosSuma de dadosValor esperadoProbabilidad condicionalRepaso: probabilidades del puesto de dados6Relaciones
Lectura de diagramas de dispersiónCorrelaciónMatriz de correlaciónMapas de calor de correlaciónCorrelación no es causalidadRepaso: helado y sol9Escalado de características
Por qué escalar las característicasEscalado mín-máxEstandarizaciónStandardScalerRepaso: compañeros de escaladaPractica por tu cuenta: Compilador de Python online