Menu
CoddyTech

Матрица корреляций

Часть раздела Статистика для машинного обучения путешествия по Machine Learning на Coddy. Урок 31 из 64.

Выбор признаков означает одновременное сравнение каждого столбца с целевым. df.corr(numeric_only=True) строит матрицу корреляций, пропуская текстовые столбцы:

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)

Матрица корреляций четырёх столбцов ноутбуков в виде сетки чисел. На диагонали серым цветом выделено значение 1.00; столбец price выделен: ram_gb 0.81, weight_kg -0.95, battery_h 0.70

Каждая ячейка — это значение r для её строки и столбца. Чтобы найти наиболее сильный признак, упорядочьте столбец цены по величине, игнорируя знаки:

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

Это выводит:

weight_kg

Индекс 0 — это сам price, со значением 1. Более лёгкие ноутбуки стоят дороже: -0.95 — самая сильная связь.

challenge icon

Задание

Средне

Энергетическая компания провела опрос среди 24 домов зимой. В homes.csv есть код home и числовые столбцы area_m2, insulation_cm, residents, outside_temp_c и heating_kwh. Программа считывает целевой столбец.

  1. Выведи столбец целевой переменной из матрицы корреляции, округлив значения до 2 знаков после запятой.
  2. Выведи Strongest:, название другого столбца, наиболее сильно связанного с целевым, и его r, как показано ниже.

Для другого опроса и целевого столбца 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)

Попробуйте сами

import numpy as np
import pandas as pd

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

# Напишите свой код ниже
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Статистика для машинного обучения

Потренируйтесь самостоятельно: Онлайн-компилятор Python