Récapitulatif : test de dépistage
Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 26 sur 58.
Défi
MoyenTu te souviens de la cellule des cas manqués qui ouvrait ce chapitre ? Une clinique dépiste le cancer dans des échantillons de tissus, et manquer un échantillon malin est la pire erreur. Le programme lit le rappel dont la clinique a besoin ; le code de départ charge et met à l’échelle les échantillons (1 signifie malin) et liste les thresholds, du plus strict au moins strict.
- Entraîne une régression logistique et affiche son AUC.
- Trouve le premier seuil dont le rappel atteint le niveau requis.
- À ce seuil, affiche les nombres et la précision comme ci-dessous.
Pour une autre clinique et 0.9 :
AUC: 0.981
Threshold: 0.4
Caught 47 of 51 malignant samples
False alarms: 2
Precision: 0.959Essayez vous-même
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
# Le rappel requis par la clinique, par exemple 0.95
needed = float(input())
# Échantillons de tissu : 1 dans y signifie malin, le cas que le dépistage doit détecter
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)
# Seuils à essayer, en commençant par le plus strict
thresholds = [0.5, 0.4, 0.3, 0.2, 0.1, 0.05]
# Écrivez votre code ci-dessous
Toutes les leçons de Apprentissage supervisé
1Votre premier modèle
Apprendre à partir d’exemplesJeux d’entraînement et de testAjuster et prédireÉvaluer un modèleRécapitulatif : trieur de graines4Régression logistique
Prédictions oui ou nonLe seuil de décisionLes poids comme indicesPlusieurs classesRécapitulatif : filtre anti-spam2Plus proches voisins
Comment k-NN prend ses décisionsChoisir kFrontières de décisionMettre les voisins à l’échelleRécapitulatif : voisins et vin5Évaluer les classificateurs
La matrice de confusionPrécision et rappelLe score F1Classes déséquilibréesCourbes ROCRécapitulatif : test de dépistage8Validation croisée
Validation K-foldComparer les modèles équitablementRecherche par grilleRécapitulatif : réparations de skateboard11Projet : espèces de manchots
À la rencontre des manchotsPréparer les donnéesChoisir un modèleOptimiser le modèle gagnantDéployer le modèle3Régression linéaire
Prédire des nombresPlusieurs caractéristiquesMesurer les erreursGraphiques des résidusRécapitulatif : locations de vélos6Arbres de décision
Les arbres posent des questionsLire un arbreProfondeur de l’arbreImportance des caractéristiquesRécapitulatif : décisions de prêtEntraînez-vous par vous-même : Compilateur Python en ligne