Matriz de correlación
Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 31 de 64.
Elegir características significa comparar cada columna con el objetivo a la vez. df.corr(numeric_only=True) crea la matriz de correlación, omitiendo las columnas de texto:
laptops = pd.DataFrame({
"model": ["Arc", "Bolt", "Cove", "Dune", "Echo", "Flux", "Gale"],
"ram_gb": [8, 16, 8, 32, 16, 16, 32],
"weight_kg": [2.3, 1.4, 2.0, 1.1, 1.8, 1.2, 1.6],
"battery_h": [7, 9, 10, 13, 6, 11, 8],
"price": [650, 1100, 700, 1600, 900, 1350, 1200],
})
corr = laptops.corr(numeric_only=True)Cada celda es la r de su fila y columna. Para encontrar la característica más fuerte, ordena la columna de precios por magnitud, ignorando los signos:
ranked = np.abs(corr["price"]).sort_values(ascending=False)
print(ranked.index[1])Esto imprime:
weight_kgEl índice 0 es price en sí, en 1. Los portátiles más ligeros cuestan más: -0.95 es el vínculo más fuerte.
Desafío
IntermedioUna compañía energética encuestó a 24 hogares en invierno. homes.csv tiene una columna de código home y las columnas numéricas area_m2, insulation_cm, residents, outside_temp_c y heating_kwh. El programa lee una columna objetivo.
- Imprime la columna objetivo de la matriz de correlación, redondeada a 2 decimales.
- Imprime
Strongest:, la otra columna más fuertemente relacionada con ella y sur, como se muestra a continuación.
Para otra encuesta y el objetivo heating_kwh:
windows 0.72
floors 0.68
age_years 0.23
heating_kwh 1.00
Name: heating_kwh, dtype: float64
Strongest: windows (r = 0.72)Pruébalo tú mismo
import numpy as np
import pandas as pd
homes = pd.read_csv("homes.csv")
target = input()
# 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 sensores3Probabilidad 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