Podsumowanie: test przesiewowy
Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 26 z 58.
Wyzwanie
ŚredniPamiętasz komórkę z przeoczonymi przypadkami, od której zaczynał się ten rozdział? Klinika bada próbki tkanek pod kątem raka, a przeoczenie próbki złośliwej jest najgorszym błędem. Program odczytuje wymagany przez klinikę poziom czułości; kod początkowy wczytuje i skaluje próbki (1 oznacza zmianę złośliwą) oraz wyświetla listę thresholds, zaczynając od najbardziej rygorystycznego progu.
- Wytrenuj regresję logistyczną i wyświetl jej AUC.
- Znajdź pierwszy próg, dla którego czułość osiąga wymagany poziom.
- Dla tego progu wyświetl liczby i precyzję, jak poniżej.
Dla innej kliniki i wartości 0.9:
AUC: 0.981
Threshold: 0.4
Caught 47 of 51 malignant samples
False alarms: 2
Precision: 0.959Spróbuj swoich sił
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
# Wymagana przez klinikę czułość, na przykład 0.95
needed = float(input())
# Próbki tkanki: 1 w y oznacza nowotwór złośliwy, który badanie przesiewowe musi wykryć
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)
# Progi do wypróbowania, zaczynając od najbardziej rygorystycznego
thresholds = [0.5, 0.4, 0.3, 0.2, 0.1, 0.05]
# Napisz swój kod poniżej
Wszystkie lekcje w sekcji Uczenie nadzorowane
1Twój pierwszy model
Uczenie się na przykładachZbiory treningowe i testoweDopasowywanie i przewidywanieOcena modeluPodsumowanie: Sortownik nasion4Regresja logistyczna
Przewidywanie „tak” lub „nie”Próg decyzyjnyWagi jako dowodyWiele klasPodsumowanie: filtr spamu2Najbliżsi sąsiedzi
Jak działa k-NNWybór kGranice decyzyjneSkalowanie dla sąsiadówPodsumowanie: sąsiedzi w zbiorze Wine5Ocena klasyfikatorów
Macierz pomyłekPrecyzja i czułośćWynik F1Niezrównoważone klasyKrzywe ROCPodsumowanie: test przesiewowy8Walidacja krzyżowa
Walidacja k-krotnaUczciwe porównywanie modeliPrzeszukiwanie siatkiPodsumowanie: naprawa deskorolki11Projekt: Gatunki pingwinów
Poznaj pingwinyPrzygotuj daneWybierz modelDopracuj zwycięski modelWdróż modelPoćwicz samodzielnie: Kompilator Python online