我想为启用早期停止功能的xgboost
模型进行功能选择(使用mlxtend
库中的SequentialFeatureSelector
,但可以选择其他选项)
既然early_stopping
是fit()
函数的参数,而不是模型参数,那么,既然我还需要传递eval_set
参数,那么如何通过交叉验证进行特征选择呢。在
以下代码将无法工作,因为我需要传递eval_set参数,但交叉验证将由SequentialFeatureSelector
基于cv索引器选择
SequentialFeatureSelector(xgboostmodel,k_features=2,forward=False,floating=False,scoring='balanced_accuracy',cv=cv).fit(X,y,early_stopping_rounds=5,eval_set = [(Xtest, ytest)])
Xtest
和ytest
应该是cv
选择的cv
集
另一个问题是特征选择器将从训练集中逐个删除特征,但是eval_set
与全部初始特征集保持不变。在
目前没有回答
相关问题 更多 >
编程相关推荐