gpt4 book ai didi

python - 如何在 GridSearchCV 中评估分类器的准确性并生成留一的 roc 曲线?

转载 作者:行者123 更新时间:2023-11-30 09:16:10 25 4
gpt4 key购买 nike

我有一个发送到网格搜索的处理管道,它使用留一(50 个样本)来确定最佳模型,如下所示

scoring = {'acc': 'accuracy'}
refit = 'acc'
param_grid = {'clf__class_weight': ['balanced'],
'clf__C': [0.1, 0.5, 1.0],
'rf_select__max_features': [5, 10, 15, 20]}
pipe = Pipeline([
('rf_select', SelectFromModel(RandomForestClassifier(n_estimators=100)),
('clf', LogisticRegression())])
clf = GridSearchCV(pipe, param_grid, cv=LeaveOneOut(), scoring=scoring, refit=refit)
clf.fit(X, y)

我报告了基于准确性的最佳分数,但我也想要一条 RoC 曲线。如果我采用clf.best_estimator_并使用整个集合X的预测概率来创建roc曲线,这些结果会过于乐观吗?我报告的 clf.best_score_ 准确度估计值是所有留一集的平均值,但 clf.best_estimator_ 会重新拟合整个集。我担心使用 refit 估计器创建 roc 曲线会产生过于乐观的结果。

最佳答案

你的担心是有道理的,当然使用 retrofit 后的估计器来估计 AUC 肯定会过于乐观。通常,我会将数据分为训练和测试,然后再运行交叉验证的网格/随机搜索,以在启用 retrofit 的数据训练部分上运行超参数。稍后我将使用测试部分来计算更可能代表真实值的任何其他指标,因为模型以前从未见过它们。

关于python - 如何在 GridSearchCV 中评估分类器的准确性并生成留一的 roc 曲线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55659929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com