ROC
분석 및 AUC(곡선 아래 면적)는 데이터 과학에서 널리 사용되는 도구로, 신호 처리에서 차용하여 다양한 매개변수화에서 모델의 품질을 평가하거나 둘 또는 성능을 비교합니다. 여러 모델 중. ROC
分析和曲线下面积 (AUC) 是数据科学中广泛使用的工具,借鉴了信号处理,用于评估不同参数化下模型的质量,或比较两个或多个模型的性能。
传统的性能指标,如准确率和召回率,在很大程度上依赖于正样本的观察。因此,ROC 和 AUC 使用真阳性率和假阳性率来评估质量,同时考虑到正面和负面观察结果。
从分解问题到使用机器学习解决问题的过程有多个步骤。它涉及数据收集、清理和特征工程、构建模型,最后是,评估模型性能。
当您评估模型的质量时,通常会使用精度和召回率等指标,也分别称为数据挖掘领域的置信度和灵敏度。
这些指标将预测值与通常来自保留集的实际观察值进行比较,使用混淆矩阵进行可视化。
让我们首先关注精度,也称为阳性预测值。使用混淆矩阵,您可以将 Precision 构建为所有真实阳性与所有预测阳性的比率。
召回率,也称为真阳性率,表示真阳性与观察到的和预测的所有阳性的比率。
使用混淆矩阵中的不同观察集来描述 Precision
和 Recall
먼저 살펴보겠습니다 긍정적인 예측 가치라고도 알려진 정확성에 중점을 둡니다. 혼동 행렬을 사용하면 모든 예측 긍정에 대한 모든 참 긍정의 비율로 정밀도를 구성할 수 있습니다.
재현율, 참양성률이라고도 하며, 관찰 및 예측된 모든 양성에 대한 참양성의 비율을 나타냅니다.
혼동 행렬 사용 정밀도
및 재현율
의 다양한 관찰 세트를 사용하면 이러한 측정항목이 모델 성능에 대한 보기를 제공하는 방식을 이해할 수 있습니다.
정밀도와 재현율은 부정적인 예를 고려하지 않고 긍정적인 예와 예측에만 초점을 맞춘다는 점에 주목할 가치가 있습니다. 또한 모델의 성능을 단지 무작위 추측인 중앙값 시나리오와 비교하지 않습니다.
1. ROC 곡선
ROC는 정밀도와 재현율 간의 균형을 시각화하는 요약 도구 역할을 합니다. ROC 분석은 ROC 곡선을 사용하여 이진 신호 값이 노이즈, 즉 무작위성으로 오염된 정도를 확인합니다. 이는 다양한 작동 지점에 대한 연속 예측 변수의 민감도와 특이성에 대한 요약을 제공합니다. ROC 곡선은 y축의 참양성률에 대해 x축의 거짓양성률을 플롯하여 얻습니다.
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)🎜🎜🎜
위 내용은 Python 모델 성능 ROC 및 AUC 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!