Оценки аномальности
Часть раздела Обучение без учителя путешествия по Machine Learning на Coddy. Урок 37 из 51.
Ответ «да» или «нет» скрывает, насколько необычна строка. score_samples присваивает каждой строке оценку: чем она ниже, тем необычнее строка. Для рецептов в аптеке:
forest = IsolationForest(random_state=0).fit(X)
rx["score"] = forest.score_samples(X)
print(rx.sort_values("score").head(3))Так выводятся три самых необычных:
pills refills price score
17 300 0 120.0 -0.881478
88 28 11 11.5 -0.708524
120 30 1 64.0 -0.700620Где проводить срез — решать тебе: сколько строк может проверить человек? Отсортируй, чтобы ранжировать, и сравни с порогом, чтобы отметить.
Задание
СреднеУ аудитора есть время проверить лишь несколько заявок на возмещение расходов. Стартовый код обучает модель леса изоляции; программа считывает n и пороговое значение.
- Вычисли оценку для каждой заявки и добавь её в новый столбец
score. - Выведи
nсамых необычных заявок, начиная с самой необычной, как показано ниже. - Выведи количество заявок, оценка которых ниже порогового значения.
Для другой компании, 2 и -0.6:
Most unusual claims:
C003: 1960 EUR, score -0.763
C040: 80 EUR, score -0.757
Below -0.6: 6 claimsПопробуйте сами
import pandas as pd
from sklearn.ensemble import IsolationForest
# Одна строка на каждый отчёт о расходах: сумма, чеки, час подачи и количество дней после поездки
claims = pd.read_csv("claims.csv")
X = claims[["amount_eur", "items", "hour", "days_late"]]
n = int(input())
threshold = float(input())
# Из Isolation Forest: лес, обученный на всех отчётах о расходах
forest = IsolationForest(random_state=0).fit(X)
# Напишите свой код ниже
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Обучение без учителя
1Поиск групп
Обучение без метокИзмерение сходстваK-Means вручнуюK-Means в scikit-learnПовторение: участники спортзала4Иерархическая кластеризация
Пошаговое объединениеАгломеративные моделиДендрограммыПовторение: породы собак2Выбор k
ИнерцияМетод локтяОценки силуэтаМасштабирование перед кластеризациейПовторение: зоны доставки8Обнаружение аномалий
Поиск необычных объектовIsolation ForestLocal Outlier FactorОценки аномальностиПовторение: мониторинг сервераПотренируйтесь самостоятельно: Онлайн-компилятор Python