Matriz de correlação
Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 31 de 64.
Escolher as características significa comparar todas as colunas com o alvo de uma só vez. df.corr(numeric_only=True) cria a matriz de correlação, ignorando as colunas 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 célula é o r de sua linha e coluna. Para encontrar a característica mais forte, ordene a coluna de preço por magnitude, ignorando os sinais:
ranked = np.abs(corr["price"]).sort_values(ascending=False)
print(ranked.index[1])Isso imprime:
weight_kgO índice 0 é o próprio price, em 1. Laptops mais leves custam mais: -0.95 é a relação mais forte.
Desafio
MédioUma empresa de energia entrevistou 24 residências no inverno. homes.csv tem um código home e as colunas numéricas area_m2, insulation_cm, residents, outside_temp_c e heating_kwh. O programa lê uma coluna-alvo.
- Imprima a coluna-alvo da matriz de correlação, arredondada para 2 casas decimais.
- Imprima
Strongest:, a outra coluna mais fortemente relacionada a ela e seur, como abaixo.
Para outra pesquisa e o alvo 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)Experimente você mesmo
import numpy as np
import pandas as pd
homes = pd.read_csv("homes.csv")
target = input()
# Escreva seu código abaixo
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
1Centro e dispersão
Média e medianaPercentis e quartisVariância e desvio padrãoAmostra ou população?O valor mais frequenteRevisão: tempos de entrega4Amostras e Populações
População e AmostraAs médias amostrais variamA distribuição amostralAmostras maiores, menos ruídoRevisão: pesquisa de opinião em uma cidade7Linhas de tendência
ResíduosAjuste por mínimos quadradosTraçando o ajusteFazendo previsões com uma linhaQuão bom é o ajuste?Revisão: horas de prática10Codificação de Categorias
Categorias como NúmerosCodificação One-HotAgrupamento de Números em FaixasRecapitulação: Anúncios de Carros2Distribuições
Histogramas de densidadeFormatos dos dadosA curva normalA regra 68-95-99,7Escores ZRecapitulando: duração da bateria5Valores atípicos
Diagramas de caixaA regra do IQRA regra do Z-scoreComo lidar com valores atípicosRevisão: falhas nos sensores8Comparando grupos
Gráficos de caixa por grupoDiferença entre médiasPode ser acaso?Valores-pO teste tRevisão: teste A/B11Explorando um conjunto de dados
Um primeiro olharTodos os atributos de uma vezAtributos em relação ao rótuloOs dois melhores atributosRevisão: dados de diabetes3Probabilidade por Simulação
Probabilidade como frequênciaA Lei dos Grandes NúmerosSomas de dadosValor esperadoProbabilidade condicionalRevisão: chances na barraca de dados6Relações
Lendo gráficos de dispersãoCorrelaçãoMatriz de correlaçãoMapas de calor de correlaçãoCorrelação não é causalidadeRevisão: sorvete e sol9Escalonamento de Recursos
Por que escalar os recursosEscalonamento Min-MaxPadronizaçãoStandardScalerRevisão: Parceiros de escaladaPratique por conta própria: Compilador de Python online