Menu
CoddyTech

Корреляция

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

Признак, который изменяется вместе с целевой переменной, помогает модели предсказывать её. Корреляция r показывает, насколько тесно два столбца следуют прямой линии, в диапазоне от -1 до 1:

Шесть небольших диаграмм рассеяния с указанными значениями r: -0.9 и -0.5 показывают нисходящую зависимость, 0.0 — бесформенное облако, 0.5 и 0.9 — восходящую зависимость, а 1.0 — идеальную восходящую прямую

Шесть недель рекламы и продаж магазина: np.corrcoef возвращает таблицу 2 на 2 — для каждой пары массивов, где r находится в [0, 1]. Метод .corr столбца возвращает значение напрямую:

ads = np.array([100, 200, 150, 300, 250, 50])
sales = np.array([430, 520, 560, 760, 610, 410])
print(np.round(np.corrcoef(ads, sales), 2))
shop = pd.DataFrame({"ads": ads, "sales": sales})
print(np.round(shop["ads"].corr(shop["sales"]), 2))

Это выводит:

[[1.   0.94]
 [0.94 1.  ]]
0.94

При значении 0,94 недели с большим количеством рекламы явно показывали более высокие продажи.

challenge icon

Задание

Средне

В спортзале в течение трёх месяцев отслеживали данные 20 участников в файле gym.csv со столбцами visits, classes, minutes_per_visit, age и weight_change_kg. Программа считывает названия двух столбцов.

  1. Выведите названия двух столбцов и значение r, округлённое до 2 знаков после запятой, как показано ниже.
  2. Выведите Direction: positive, если r больше 0.3, negative, если оно меньше -0.3, иначе none.

Для показателей laps и minutes плавательного клуба:

laps and minutes: r = 0.95
Direction: positive

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

import numpy as np
import pandas as pd

gym = pd.read_csv("gym.csv")
first = input()
second = input()

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

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

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

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