我正在使用随机森林分类器进行特征选择。我共有70个功能,并且我要从70个功能中选择最重要的功能。下面的代码显示了分类器,该分类器显示了从最重要到最不重要的功能。
码:
feat_labels = data.columns[1:]
clf = RandomForestClassifier(n_estimators=100, random_state=0)
# Train the classifier
clf.fit(X_train, y_train)
importances = clf.feature_importances_
indices = np.argsort(importances)[::-1]
for f in range(X_train.shape[1]):
print("%2d) %-*s %f" % (f + 1, 30, feat_labels[indices[f]], importances[indices[f]]))
现在,我尝试使用SelectFromModel
from,sklearn.feature_selection
但是如何确定给定数据集的阈值。
# Create a selector object that will use the random forest classifier to identify
# features that have an importance of more than 0.15
sfm = SelectFromModel(clf, threshold=0.15)
# Train the selector
sfm.fit(X_train, y_train)
当我尝试threshold=0.15
然后尝试训练我的模型时,出现错误,提示数据太嘈杂或选择太严格。
但是,如果我使用该threshold=0.015
模型,就能够在选定的新功能上训练我的模型,那么如何确定该阈值?
我会尝试以下方法:
1e-4
SelectFromModel
拟合和变换来减少特征RandomForestClassifier
根据您的情况)的指标(准确性等)使用这种方法,您可以估算出最threshold
适合您的特定数据和估算器的方法
特征选择/范例四: Feature selection using SelectFromModel and LassoCV http://scikit-learn.org/stable/auto_examples/feature_selection/plot_select_from_model_boston.html 此范例是示范以LassoCV来挑选特征,Lasso是一种用来计算稀疏矩阵的线性模
特征选择在于选取对训练集有分类能力的特征,这样可以提高决策树学习的效率。 通常特征选择的准则是信息增益或信息增益比。 信息增益 信息增益(information gain)表示得知特征$$X$$的信息而使得类$$Y$$的信息不确定性减少称。 特征$$A$$对训练数据集$$D$$的信息增益$$g(D,A)$$,定义为集合$$D$$的经验熵$$H(D)$$与特征$$A$$在给定条件下$$D$$的经验条
本文向大家介绍如何进行特征选择?相关面试题,主要包含被问及如何进行特征选择?时的应答技巧和注意事项,需要的朋友参考一下 去除方差较小的特征
问题内容: 我用作以下功能选择器。 我还执行以下操作,以调整以下超参数。 但是,我不清楚如何将特征选择()与合并。 编辑: 当我运行@Gambit建议的答案时,出现以下错误: 我可以通过在参数列表中使用来解决上述问题。 我现在的问题是 如何使用所选的特征和参数来验证模型是否可以很好地处理看不见的数据。如何获得并使用进行训练? 如果需要,我很乐意提供更多详细信息。 问题答案: 基本上,您希望在选择特
RFormula通过一个R model formula选择一个特定的列。 目前我们支持R算子的一个受限的子集,包括~,.,:,+,-。这些基本的算子是: ~ 分开target和terms + 连接term,+ 0表示删除截距(intercept) - 删除term,- 1表示删除截距 : 交集 . 除了target之外的所有列 假设a和b是double列,我们用下面简单的例子来证明RFor
基于SparkML的特征选择(Feature Selectors)三个算法(VectorSlicer、RFormula以及ChiSqSelector)结合Demo进行一下理解 VectorSlicer算法介绍: VectorSlicer是一个转换器输入特征向量,输出原始特征向量子集。VectorSlicer接收带有特定索引的向量列,通过对这些索引的值进行筛选得到新的向量集。可接受如下两种索引: 1
校验者: @yuezhao9210 @BWM-蜜蜂 翻译者: @v 在 sklearn.feature_selection 模块中的类可以用来对样本集进行 feature selection(特征选择)和 dimensionality reduction(降维),这将会提高估计器的准确度或者增强它们在高维数据集上的性能。 1.13.1. 移除低方差特征 VarianceThreshold 是特征选