Menu
CoddyTech

Macierz korelacji

Część sekcji Statystyka w uczeniu maszynowym ścieżki Machine Learning w Coddy. Lekcja 31 z 64.

Wybieranie cech oznacza jednoczesne porównanie każdej kolumny ze zmienną docelową. df.corr(numeric_only=True) tworzy macierz korelacji, pomijając kolumny tekstowe:

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)

Macierz korelacji czterech kolumn dotyczących laptopów w postaci siatki liczb. Na przekątnej znajdują się wartości 1.00 na szarym tle; kolumna price jest wyróżniona: ram_gb 0.81, weight_kg -0.95, battery_h 0.70

Każda komórka to współczynnik r dla swojego wiersza i kolumny. Aby znaleźć najsilniejszą cechę, uporządkuj kolumnę price według wielkości, pomijając znaki:

ranked = np.abs(corr["price"]).sort_values(ascending=False)
print(ranked.index[1])

To wyświetla:

weight_kg

Indeks 0 to samo price, przy 1. Lżejsze laptopy kosztują więcej: -0.95 to najsilniejszy związek.

challenge icon

Wyzwanie

Średni

Firma energetyczna przeprowadziła zimą ankietę wśród 24 gospodarstw domowych. homes.csv zawiera kod home oraz kolumny liczbowe: area_m2, insulation_cm, residents, outside_temp_c i heating_kwh. Program odczytuje kolumnę docelową.

  1. Wyświetl kolumnę docelową macierzy korelacji, zaokrągloną do 2 miejsc po przecinku.
  2. Wyświetl Strongest:, inną kolumnę najsilniej z nią powiązaną oraz jej r, jak poniżej.

Dla innej ankiety i kolumny docelowej 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)

Spróbuj swoich sił

import numpy as np
import pandas as pd

homes = pd.read_csv("homes.csv")
target = input()

# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Statystyka w uczeniu maszynowym

Poćwicz samodzielnie: Kompilator Python online