[Maschinelles Lernen] Zuverlässigkeitskurve und Kalibrierung des probabilistischen Modells

1. Was ist eine Zuverlässigkeitskurve?

Die Zuverlässigkeitskurve ist ein Bewertungsindex für ein Wahrscheinlichkeitsmodell und eignet sich für Wahrscheinlichkeitsalgorithmen wie Naive Bayes, SVM und logistische Regression. Es handelt sich um eine Kurve mit dem vorhergesagten Wert von y als Abszisse und dem tatsächlichen Wert von y als Ordinate.
Wenn die von uns gezeichnete Zuverlässigkeitskurve näher an der Diagonale liegt, glauben wir daher, dass die Leistung dieses Lernenden besser ist.

2. Codeanzeige

Die Zuverlässigkeitskurve von sklearn ist dieselbe wie die Lernkurve. Es kann das Diagramm nicht direkt zeichnen, sondern gibt die zum Zeichnen erforderlichen Werte zurück. Daher untersucht der folgende Code die Zuverlässigkeitskurven der drei Algorithmen basierend auf den von zurückgegebenen Werten Kalibrierungskurve.Fügen Sie hier eine Bildbeschreibung ein

from sklearn.datasets import make_classification as mc
import matplotlib.pyplot as plt
from sklearn.naive_bayes import GaussianNB # 导入高斯朴素贝叶斯
from sklearn.svm import SVC
from sklearn.linear_model import LogisticRegression as LR
from sklearn.metrics import brier_score_loss # 导入布里尔分数
from sklearn.model_selection import train_test_split
from sklearn.calibration import calibration_curve # 对概率类模型进行校准,方法是分箱


#创建数据
x,y = mc(n_samples=100000,
         n_features= 20,
         n_classes= 2

Supongo que te gusta

Origin blog.csdn.net/weixin_52589734/article/details/113638243
Recomendado
Clasificación