小编hud*_*95x的帖子

为什么当我在roc_auc评分中使用GridSearchCV时,grid_search.score(X,y)和roc_auc_score(y,y_predict)的分数不同?

我正在使用分层10倍交叉验证来找到可预测具有最高auc的X(X具有34个标记)的y(二进制结果)的模型。我设置了GridSearchCV:

log_reg = LogisticRegression()
parameter_grid = {'penalty' : ["l1", "l2"],'C': np.arange(0.1, 3, 0.1),}
cross_validation = StratifiedKFold(n_splits=10,shuffle=True,random_state=100)
grid_search = GridSearchCV(log_reg, param_grid = parameter_grid,scoring='roc_auc',
                          cv = cross_validation)
Run Code Online (Sandbox Code Playgroud)

然后执行交叉验证:

grid_search.fit(X, y)
y_pr=grid_search.predict(X)
Run Code Online (Sandbox Code Playgroud)

我不理解以下内容:为什么grid_search.score(X,y)roc_auc_score(y, y_pr)给出不同的结果(前者为0.74,后者为0.63)?在我的情况下,为什么这些命令没有做同样的事情?

python scikit-learn cross-validation auc

5
推荐指数
1
解决办法
1532
查看次数

标签 统计

auc ×1

cross-validation ×1

python ×1

scikit-learn ×1