Повторение: скрининговый тест
Часть раздела Обучение с учителем путешествия по Machine Learning на Coddy. Урок 26 из 58.
Задание
СреднеПомнишь ячейку с пропущенными случаями, с которой началась эта глава? Клиника проверяет образцы тканей на рак, и пропустить злокачественный образец — худшая ошибка. Программа считывает необходимую клинике полноту; стартовый код загружает и масштабирует образцы (1 означает злокачественный) и перечисляет thresholds в порядке от самого строгого.
- Обучи модель логистической регрессии и выведи её AUC.
- Найди первый порог, при котором полнота достигает нужного значения.
- Для этого порога выведи количество случаев и точность, как показано ниже.
Для другой клиники и значения 0.9:
AUC: 0.981
Threshold: 0.4
Caught 47 of 51 malignant samples
False alarms: 2
Precision: 0.959Попробуйте сами
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score, recall_score, precision_score, confusion_matrix
# Необходимая клинике полнота, например 0.95
needed = float(input())
# Образцы тканей: 1 в y означает злокачественную опухоль — случай, который скрининг должен выявить
cancer = load_breast_cancer()
X = cancer.data
y = 1 - cancer.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0, stratify=y)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# Пороговые значения для проверки, начиная с самого строгого
thresholds = [0.5, 0.4, 0.3, 0.2, 0.1, 0.05]
# Напишите свой код ниже
Все уроки раздела Обучение с учителем
1Ваша первая модель
Обучение на примерахОбучающая и тестовая выборкиОбучение и предсказаниеОценка моделиПовторение: сортировщик семян4Логистическая регрессия
Предсказания «да» или «нет»Порог принятия решенияВеса как свидетельстваНесколько классовПовторение: спам-фильтр2Метод ближайших соседей
Как работает k-NNВыбор kГраницы принятия решенийМасштабирование признаков для поиска соседейПовторение: соседи для вин5Оценка классификаторов
Матрица ошибокТочность и полнотаF1-мераНесбалансированные классыROC-кривыеПовторение: скрининговый тест8Кросс-валидация
K-блочная проверкаСправедливое сравнение моделейПоиск по сеткеПовторение: ремонт скейтбордов11Проект: виды пингвинов
Знакомство с пингвинамиПодготовка данныхВыбор моделиНастройка лучшей моделиЗапуск моделиПотренируйтесь самостоятельно: Онлайн-компилятор Python