Menu
CoddyTech

Özet: Tarama Testi

Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 26 / 58.

challenge icon

Görev

Orta

Bu bölümün başında sözünü ettiğimiz kaçırılan vakalar hücresini hatırlıyor musun? Bir klinik, doku örneklerini kanser açısından tarıyor ve kötü huylu bir örneğin gözden kaçırılması en kötü hatadır. Program, kliniğin ihtiyaç duyduğu geri çağırma oranını okur; başlangıç kodu örnekleri yükleyip ölçeklendirir (1, kötü huylu anlamına gelir) ve en katı eşikten başlayarak thresholds listesini verir.

  1. Lojistik regresyon modelini eğit ve AUC değerini yazdır.
  2. Geri çağırma oranı ihtiyacı karşılayan ilk eşiği bul.
  3. Aşağıda gösterildiği gibi, bu eşikteki sayıları ve kesinliği yazdır.

Başka bir klinik ve 0.9 için:

AUC: 0.981
Threshold: 0.4
Caught 47 of 51 malignant samples
False alarms: 2
Precision: 0.959

Kendin dene

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

# Kliniğin ihtiyaç duyduğu duyarlılık, örneğin 0.95
needed = float(input())

# Doku örnekleri: y içindeki 1, kötü huylu anlamına gelir; taramanın tespit etmesi gereken durum budur
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)

# Denenecek eşik değerleri, en katısından başlayarak
thresholds = [0.5, 0.4, 0.3, 0.2, 0.1, 0.05]

# Kodunuzu aşağıya yazın

Denetimli Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi