如何使用from_model.py中的SelectFromModel()?

fsel = ske.ExtraTreesClassifier().fit(X, y)model = SelectFromModel(fsel, prefit=True)

我正在尝试使用ExtraTreesClassifier训练数据集。函数SelectFromModel()如何决定特征的重要性值,并返回什么?


回答:

SelectFromModel的文档中所述:

threshold : string, float, optional default None

用于特征选择的阈值。重要性大于或等于该阈值的特征将被保留,而其他特征将被丢弃。如果是“median”(分别是“mean”),则阈值是特征重要性的中位数(分别是均值)。还可以使用缩放因子(例如,“1.25*mean”)。如果是None,并且估计器的参数penalty设置为l1,无论是显式还是隐式(例如,Lasso),则使用的阈值为1e-5。否则,默认使用“mean”。

在你的例子中,threshold是默认值None,将使用你的ExtraTreesClassifier中feature_importances_的均值作为阈值。

示例

from sklearn.datasets import load_irisfrom sklearn.ensemble import ExtraTreesClassifierfrom sklearn.feature_selection import SelectFromModeliris = load_iris()X, y  = iris.data, iris.targetclf = ExtraTreesClassifier()model = SelectFromModel(clf)SelectFromModel(estimator=ExtraTreesClassifier(bootstrap=False,             class_weight=None, criterion='gini',            max_depth=None, max_features='auto', max_leaf_nodes=None,            min_impurity_decrease=0.0, min_impurity_split=None,            min_samples_leaf=1, min_samples_split=2,            min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1,            oob_score=False, random_state=None, verbose=0, warm_start=False),        norm_order=1, prefit=False, threshold=None)model.fit(X, y)print(model.threshold_)#0.25print(model.estimator_.feature_importances_)#array([0.09790258, 0.02597852, 0.35586554, 0.52025336])print(model.estimator_.feature_importances_.mean())#0.25

如你所见,拟合后的modelSelectFromModel的一个实例,使用ExtraTreesClassifier()作为估计器。阈值是0.25,这也是拟合估计器的特征重要性的均值。根据特征重要性和阈值,模型将仅保留输入数据的第三个和第四个特征(那些重要性大于阈值的特征)。你可以使用拟合后的SelectFromModel()类的transform方法从输入数据中选择这些特征。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注