gpt4 book ai didi

scikit-learn - 在 scikit-learn 中进行详尽的特征选择?

转载 作者:行者123 更新时间:2023-12-04 04:05:20 27 4
gpt4 key购买 nike

在 scikit-learn 中是否有任何内置的方式进行强力特征选择? IE。详尽评估输入特征的所有可能组合,然后找到最佳子集。我熟悉“递归特征消除”类,但我特别感兴趣的是一个接一个地评估输入特征的所有可能组合。

最佳答案

不,未实现最佳子集选择。最简单的方法是自己编写。这应该让你开始:

from itertools import chain, combinations
from sklearn.cross_validation import cross_val_score

def best_subset_cv(estimator, X, y, cv=3):
n_features = X.shape[1]
subsets = chain.from_iterable(combinations(xrange(k), k + 1)
for k in xrange(n_features))

best_score = -np.inf
best_subset = None
for subset in subsets:
score = cross_val_score(estimator, X[:, subset], y, cv=cv).mean()
if score > best_score:
best_score, best_subset = score, subset

return best_subset, best_score

这在循环内执行 k 折交叉验证,因此在提供具有 p 特征的数据时,它将适合 k 2 ᵖ 估计量。

关于scikit-learn - 在 scikit-learn 中进行详尽的特征选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22956938/

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