Оценка модели
Часть раздела Обучение с учителем путешествия по Machine Learning на Coddy. Урок 4 из 58.
Хороша ли модель? Об этом говорит её точность — доля тестовых строк, для которых она дала правильный ответ. Сравни её с ленивой догадкой:
78% займов в тестовой выборке этой библиотеки были возвращены вовремя, поэтому ответ «вовремя» в каждом случае даёт оценку 0.78. Это базовый уровень.
from sklearn.metrics import accuracy_score
pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
print(model.score(X_test, y_test))
common = y_train.value_counts().index[0]
print((y_test == common).mean())Это выводит 0.88, 0.88, 0.78. score делает предсказания и подсчёт за один вызов; базовая модель всегда отвечает меткой, которая чаще всего встречается в обучающих данных.
Модель заслуживает места, только если превосходит базовый уровень.
Задание
ЛегкоДатчики пчеловода следят за 160 ульями в hives.csv; swarm показывает, роился ли каждый улей. Может ли один датчик предупредить её? Стартовый код считывает название датчика и обучает модель только на данных этого датчика.
- Выведи точность на тестовой выборке, округлённую до 3 знаков после запятой.
- Выведи базовый уровень, указав метку, которую модель всегда предсказывает.
- Выведи, превосходит ли его модель.
Для другой пасеки и weight_change_kg:
Model on weight_change_kg: 0.775
Always "no": 0.7
Beats the baseline: yesПопробуйте сами
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# Одна строка на каждый улей: показания его датчиков и сведения о том, роился ли он
hives = pd.read_csv("hives.csv")
sensor = input()
X = hives[[sensor]]
y = hives["swarm"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
model = KNeighborsClassifier()
model.fit(X_train, y_train)
# Напишите свой код ниже
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Обучение с учителем
1Ваша первая модель
Обучение на примерахОбучающая и тестовая выборкиОбучение и предсказаниеОценка моделиПовторение: сортировщик семян4Логистическая регрессия
Предсказания «да» или «нет»Порог принятия решенияВеса как свидетельстваНесколько классовПовторение: спам-фильтр2Метод ближайших соседей
Как работает k-NNВыбор kГраницы принятия решенийМасштабирование признаков для поиска соседейПовторение: соседи для вин5Оценка классификаторов
Матрица ошибокТочность и полнотаF1-мераНесбалансированные классыROC-кривыеПовторение: скрининговый тест8Кросс-валидация
K-блочная проверкаСправедливое сравнение моделейПоиск по сеткеПовторение: ремонт скейтбордов11Проект: виды пингвинов
Знакомство с пингвинамиПодготовка данныхВыбор моделиНастройка лучшей моделиЗапуск моделиПотренируйтесь самостоятельно: Онлайн-компилятор Python