ROC
L'analyse et l'aire sous la courbe (AUC) sont des outils largement utilisés en science des données, empruntés au traitement du signal, pour évaluer la qualité des modèles sous différents paramétrages, ou pour comparer deux ou performances. de plusieurs modèles. ROC
分析和曲线下面积 (AUC) 是数据科学中广泛使用的工具,借鉴了信号处理,用于评估不同参数化下模型的质量,或比较两个或多个模型的性能。
传统的性能指标,如准确率和召回率,在很大程度上依赖于正样本的观察。因此,ROC 和 AUC 使用真阳性率和假阳性率来评估质量,同时考虑到正面和负面观察结果。
从分解问题到使用机器学习解决问题的过程有多个步骤。它涉及数据收集、清理和特征工程、构建模型,最后是,评估模型性能。
当您评估模型的质量时,通常会使用精度和召回率等指标,也分别称为数据挖掘领域的置信度和灵敏度。
这些指标将预测值与通常来自保留集的实际观察值进行比较,使用混淆矩阵进行可视化。
让我们首先关注精度,也称为阳性预测值。使用混淆矩阵,您可以将 Precision 构建为所有真实阳性与所有预测阳性的比率。
召回率,也称为真阳性率,表示真阳性与观察到的和预测的所有阳性的比率。
使用混淆矩阵中的不同观察集来描述 Precision
和 Recall
Voyons d'abord Concentrez-vous sur la précision, également appelée valeur prédictive positive. À l’aide d’une matrice de confusion, vous pouvez construire la précision comme le rapport de tous les vrais positifs à tous les positifs prédits.
Taux de rappel, Également connu sous le nom de taux de vrais positifs, il représente le rapport entre les vrais positifs et tous les positifs observés et prédits.
Utiliser la matrice de confusion En décrivant les différents ensembles d'observations dans Precision
et Recall
, vous pouvez commencer à comprendre comment ces métriques fournissent une vue des performances du modèle.
Il convient de noter que la précision et le rappel se concentrent uniquement sur des exemples et des prédictions positifs, sans prendre en compte les exemples négatifs. De plus, ils ne comparent pas les performances du modèle au scénario médian, qui n’est qu’une estimation aléatoire.
1. Courbe ROC
ROC sert d'outil récapitulatif pour visualiser le compromis entre précision et rappel. L'analyse ROC utilise une courbe ROC pour déterminer dans quelle mesure la valeur d'un signal binaire est contaminée par le bruit, c'est-à-dire le caractère aléatoire. Il fournit un résumé de la sensibilité et de la spécificité d'un prédicteur continu sur une gamme de points de fonctionnement. La courbe ROC est obtenue en traçant le taux de faux positifs sur l’axe des x par rapport au taux de vrais positifs sur l’axe des y.
import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score, RocCurveDisplay def plot_roc(model, test_features, test_targets): """ Plotting the ROC curve for a given Model and the ROC curve for a Random Forests Models """ # comparing the given model with a Random Forests model random_forests_model = RandomForestClassifier(random_state=42) random_forests_model.fit(train_features, train_targets) rfc_disp = RocCurveDisplay.from_estimator(random_forests_model, test_features, test_targets) model_disp = RocCurveDisplay.from_estimator(model, test_features, test_targets, ax=rfc_disp.ax_) model_disp.figure_.suptitle("ROC curve: Multilayer Perceptron vs Random Forests") plt.show() # using perceptron model as input plot_roc(ml_percetron_model, test_features, test_targets)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!