ROC
-Analyse und Fläche unter der Kurve (AUC) sind weit verbreitete Werkzeuge in der Datenwissenschaft, die der Signalverarbeitung entlehnt sind, um die Qualität verschiedener Parametrisierungen zu bewerten eines Modells oder Vergleich der Leistung von zwei oder mehr Modellen. ROC
分析和曲线下面积 (AUC) 是数据科学中广泛使用的工具,借鉴了信号处理,用于评估不同参数化下模型的质量,或比较两个或多个模型的性能。
传统的性能指标,如准确率和召回率,在很大程度上依赖于正样本的观察。因此,ROC 和 AUC 使用真阳性率和假阳性率来评估质量,同时考虑到正面和负面观察结果。
从分解问题到使用机器学习解决问题的过程有多个步骤。它涉及数据收集、清理和特征工程、构建模型,最后是,评估模型性能。
当您评估模型的质量时,通常会使用精度和召回率等指标,也分别称为数据挖掘领域的置信度和灵敏度。
这些指标将预测值与通常来自保留集的实际观察值进行比较,使用混淆矩阵进行可视化。
让我们首先关注精度,也称为阳性预测值。使用混淆矩阵,您可以将 Precision 构建为所有真实阳性与所有预测阳性的比率。
召回率,也称为真阳性率,表示真阳性与观察到的和预测的所有阳性的比率。
使用混淆矩阵中的不同观察集来描述 Precision
和 Recall
Konzentrieren wir uns zunächst auf die Genauigkeit, auch bekannt als positiver Vorhersagewert. Mithilfe einer Verwirrungsmatrix können Sie die Präzision als das Verhältnis aller echten positiven Ergebnisse zu allen vorhergesagten positiven Ergebnissen konstruieren.
Die Rückrufrate, auch True-Positive-Rate genannt, stellt das Verhältnis von True-Positives zu allen beobachteten und vorhergesagten Positiven dar.
Durch die Verwendung verschiedener Beobachtungssätze in einer Verwirrungsmatrix zur Beschreibung von Präzision
und Erinnerung
können Sie beginnen zu verstehen, wie diese Metriken einen Überblick über geben die Leistung Ihres Modells.
Es ist erwähnenswert, dass sich Precision und Recall nur auf positive Beispiele und Vorhersagen konzentrieren, ohne negative Beispiele zu berücksichtigen. Darüber hinaus vergleichen sie die Leistung des Modells nicht mit dem Median-Szenario, bei dem es sich lediglich um eine zufällige Schätzung handelt.
1. ROC-Kurve
ROC ist ein zusammenfassendes Tool zur Visualisierung des Kompromisses zwischen Präzision und Rückruf. Die ROC-Analyse verwendet eine ROC-Kurve, um zu bestimmen, wie viel vom Wert eines Binärsignals durch Rauschen, d. h. Zufälligkeit, verunreinigt ist. Es bietet eine Zusammenfassung der Sensitivität und Spezifität für einen kontinuierlichen Prädiktor über einen Bereich von Betriebspunkten. Die ROC-Kurve wird durch Auftragen der Falsch-Positiv-Rate auf der X-Achse gegen die Echt-Positiv-Rate auf der Y-Achse erhalten.
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)
Das obige ist der detaillierte Inhalt vonWas sind ROC und AUC der Python-Modellleistung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!