Menu
CoddyTech

Первый взгляд

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

Каждая модель начинается с того, что кто-то внимательно изучает её данные. Эта глава заканчивается изображением вроде этого: два измерения, разделяющие опухоли по классам.

Образцы ткани молочной железы показаны точками: среднее значение вогнутых точек отложено по горизонтали, а средний периметр — по вертикали; доброкачественные образцы сосредоточены внизу слева, а злокачественные разбросаны выше и правее

Начните с четырёх проверок: размер, пропуски, диапазоны и классы. Для набора данных о винах:

wine = load_wine(as_frame=True)
df = wine.frame
print(df.shape)
print(df.isna().sum().sum())

Это выводит:

(178, 14)
0

13 признаков плюс target, и .sum().sum() не обнаружил пропусков нигде. df.describe() показывает диапазон каждого признака.

И наконец, классы. normalize=True преобразует количества в доли:

shares = df["target"].value_counts(normalize=True)

Столбцы для трёх классов вина: class_0 — 33%, class_1 — 40%, class_2 — 27%; пунктирная линия на уровне 40% с отметкой «всегда class_1: 40%» справа

Всегда отвечать class_1 — правильно в 40% случаев: это базовый уровень, который должна превзойти настоящая модель.

challenge icon

Задание

Средне

Сначала изучи load_breast_cancer, до того как какая-либо модель начнёт на нём обучаться. Стартовый код загружает его в df и считывает имя признака. Выведи:

  1. Размер и количество пропущенных ячеек.
  2. Минимум, максимум и медиану признака из describe().
  3. Долю каждого класса в целых процентах, в порядке классов.
  4. Базовый уровень: наибольшую долю и соответствующий класс.

Для цветов ириса и входных данных petal length (cm) вывод будет таким:

Size: 150 samples, 4 features
Missing cells: 0
petal length (cm): 1.0 to 6.9, median 4.35
setosa: 33%
versicolor: 33%
virginica: 33%
Baseline: 33% by always answering setosa

Данные по ирисам идеально сбалансированы. А данные о тканях?

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

from sklearn.datasets import load_breast_cancer

feature = input()
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame

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

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

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

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