- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 RFECV 进行特征选择,但每次都会给出不同的结果,交叉验证是否将样本 X 划分为随机 block 或顺序确定性 block ?
此外,为什么 grid_scores_
和 score(X,y)
的分数不同?为什么分数有时是负数?
最佳答案
交叉验证是将样本 X 划分为随机 block 还是顺序确定性 block ?
CV 默认将数据划分为确定性 block 。您可以通过将 shuffle 参数设置为 True 来更改此行为。
但是,RFECV如果 y 是二元或多类,则使用 sklearn.model_selection.StratifiedKFold 。
这意味着它将分割数据,使每个折叠具有相同(或几乎相同的类比例)。为了做到这一点,每个折叠中的确切数据在 CV 的不同迭代中可能会略有变化。但是,这不应导致数据发生重大变化。
如果您使用 cv 参数传递 CV 迭代器,则可以通过指定随机状态来修复分割。随机状态与算法做出的随机决策相关。每次使用相同的随机状态将确保相同的行为。
另外,为什么 grid_scores_ 和 Score(X,y) 的分数不同?
grid_scores_ 是交叉验证分数的数组。 grid_scores_[i] 是第 i 次迭代的交叉验证分数。这意味着第一个分数是所有特征的分数,第二个分数是删除一组特征时的分数,依此类推。每个中删除的特征数量等于步骤参数的值。默认情况下 = 1。
score(X, y) 选择最佳特征数量并返回这些特征的分数。
为什么分数有时为负数?
这取决于您使用的估算器和评分器。如果您没有设置评分器,RFECV 将使用估计器的默认评分函数。一般来说,这是准确性,但在您的特定情况下,可能会返回负值。
关于scikit-learn - 为什么 sklearn.feature_selection.RFECV 每次运行给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374254/
我有两个数据集:训练数据和测试数据。 train.shape = (307511, 122) 和 test.shape = (48744, 121)。这两个数据集都包含以下数据类型:int32、flo
我在sklearn特征选择模块中找到了用于特征选择的F_regression技术。我无法理解它使用的原理。给出的描述是 - 单变量线性回归检验。 快速线性模型,用于依次测试多个回归量的单个回归量的效果
我正在尝试获取我的数据集的所有特征的分数。 file_data = numpy.genfromtxt(input_file) y = file_data[:,-1] X = file_data[:,0
我降低了数据集的维度(pandas DataFrame)。 X = df.as_matrix() sel = VarianceThreshold(threshold=0.1) X_r = sel.fi
我正在尝试自动特征工程和选择,为此,我使用了 sklearn 中提供的波士顿房价数据集。 . from sklearn.datasets import load_boston import panda
我尝试使用 RFECV 进行特征选择,但每次都会给出不同的结果,交叉验证是否将样本 X 划分为随机 block 或顺序确定性 block ? 此外,为什么 grid_scores_ 和 score(X
我尝试使用 RFECV 进行特征选择,但每次都会给出不同的结果,交叉验证是否将样本 X 划分为随机 block 或顺序确定性 block ? 此外,为什么 grid_scores_ 和 score(X
我正在尝试使用 sklearn.svm.SVC 来完成一些文本分类任务。我知道在使用 SVM 建模之前执行特征选择是一项有点值得怀疑的尝试,因为当使用全套特征时性能通常会达到峰值。从学术角度来看,了解
我是一名优秀的程序员,十分优秀!