Menu
CoddyTech

Слишком много признаков

Часть раздела Обучение без учителя путешествия по Machine Learning на Coddy. Урок 24 из 51.

В этой главе собрано множество возможностей. К её завершению 13 измерений вин превратятся в одну карту:

178 вин на одной карте с двумя новыми признаками по горизонтали и вертикали: три группы, сорт винограда 1 справа, сорт винограда 2 внизу посередине, сорт винограда 3 слева

Зачем сокращать? Многие признаки сложно отображать на графике, подбор параметров занимает много времени, и они часто дублируют друг друга, как эти два:

Общее содержание фенолов и флаваноидов в 178 винах: точки поднимаются вместе от нижнего левого угла к верхнему правому, r = 0.86

Двойники несут одну и ту же идею дважды. Корреляционная матрица находит их: значение r близко к 1 или -1:

wine = load_wine(as_frame=True).frame
corr = wine.corr()
print(round(corr.loc["flavanoids", "total_phenols"], 2))

Это выводит 0.86. Оставьте по одному элементу из каждой пары или объедините их: именно объединению посвящена эта глава.

challenge icon

Задание

Средне

В мыловаренной мастерской измеряют 10 показателей для каждой партии мыла, и отчёты становятся длинными. Найди пары-близнецы. Программа считывает порог; в начальном коде создаётся corr.

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

Для другой мастерской и порога 0.85:

lye_g and oil_g: 0.91
cure_days and water_left_pct: -0.88
Twin pairs: 2

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

import pandas as pd

# Мыловаренная мастерская: 10 измерений для каждой из 60 партий мыла
batches = pd.read_csv("soaps.csv")
limit = float(input())
corr = batches.corr()
cols = corr.columns

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

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

Все уроки раздела Обучение без учителя

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