gpt4 book ai didi

python - 从 gridsearchCV 内的 RFECV 检索选定的特征

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:08 27 4
gpt4 key购买 nike

我想编写一个代码,可以在几个处理器和预处理器上进行网格搜索,也可以在不同的功能组合上进行网格搜索。我通过在 gridsearchCV 中使用 RFECV 来完成此操作。然而,这需要很长时间才能运行。因此,我颠倒了顺序。我进行了网格搜索,然后将其放入 RFECV 中。现在,我想查看并打印最佳模型中实际选择的功能。我尝试了该网站上的几个解决方案,但没有一个有效。我如何访问所选功能? grid_dem.get_support(indices=True)grid_dem.support_ 都不起作用。我收到此错误和其他类似错误:AttributeError: 'RFECV' object has no attribute 'support_'

我的代码的相关部分是:

pipe = Pipeline([('preprocessing', StandardScaler()), ('rbf_svm', SVC(max_iter=1e6))])
param_grid ={'preprocessing': [StandardScaler(), MinMaxScaler(), Normalizer(), RobustScaler()],
'rbf_svm__kernel': ['rbf', 'poly', 'linear', 'sigmoid'],
'rbf_svm__C': np.logspace(-3,2,5), 'rbf_svm__gamma': np.logspace(-3,2,5)}

# {'preprocessing': [StandardScaler(), MinMaxScaler(), Normalizer(), RobustScaler()],
# 'rbf_svm': [LogisticRegression(max_iter=1e6)],
# 'logisticregression__C': np.logspace(-3,2,5)}]

grid_dem = GridSearchCV(pipe, param_grid, cv=5,verbose=5,n_jobs=3)
grid_dem.fit(X_democrat_train,y_democrat_train)
grid_dem.score(X_democrat_test,y_democrat_test)
print(grid_dem.best_estimator_)
rfecv=RFECV(grid_dem, verbose=3)
print(rfecv)
print(rfecv.get_support(indices=True))
# rfecv=rfecv.fit_transform(X_democrat_train, y_democrat_train)
# print(rfecv.get_params())

正如你在最后两行中看到的,我也尝试过对 X 进行改造,但这也不起作用。

最佳答案

您已将管道发送到 gridSearch。因此,best_estimator_ 将返回一个管道。但grid_dem仍然是一个GridSearchCV对象。所以显然 get_support() 不起作用。之后,您将此grid_dem传递给RFECV,但没有对其调用fit()。这就是 support_ 不可用的原因。

请像这样更新您的代码:

rfecv=RFECV(grid_dem.best_estimator_, verbose=3)  <==Edited
rfecv.fit(X_democrat_train,y_democrat_train) #<==This is what you want
print(rfecv.get_support(indices=True))
# rfecv=rfecv.fit_transform(X_democrat_train, y_democrat_train)
# print(rfecv.get_params())mocrat_train,y_democrat_train)

关于python - 从 gridsearchCV 内的 RFECV 检索选定的特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47819930/

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