gpt4 book ai didi

python-2.7 - feature_importances_ 在 ExtraTreesClassifier :TypeError: 'NoneType' object is not iterable 中显示为 NoneType

转载 作者:行者123 更新时间:2023-11-30 09:30:01 26 4
gpt4 key购买 nike

我正在尝试为给定的数据集选择重要的特征(或者至少了解哪些特征解释更多的变异性)。为此,我使用 ExtraTreesClassifier 和 GradientBoostingRegressor - 然后使用:-

clf = ExtraTreesClassifier(n_estimators=10,max_features='auto',random_state=0) # stops after 10 estimation passes, right ?
clf.fit(x_train, y_train)
feature_importance=clf.feature_importances_ # does NOT work - returns NoneType for feature_importance

发布此我真的很感兴趣绘制它们(用于视觉表示) - 甚至是初步的,只是查看重要性的相对顺序和相应的指数

# Both of these do not work as the feature_importance is of NoneType
feature_importance = 100.0 * (feature_importance / feature_importance.max())
indices = numpy.argsort(feature_importance)[::-1]

我发现令人费解的是 - 如果我按如下方式使用 GradientBoostingRegressor,我确实会得到 feature_importance 及其索引。我做错了什么?

#Works with GradientBoostingRegressor
params = {'n_estimators': 100, 'max_depth': 3, 'learning_rate': 0.1, 'loss': 'lad'}
clf = GradientBoostingRegressor(**params).fit(x_train, y_train)
clf.fit(x_train, y_train)
feature_importance=clf.feature_importances_

其他信息:我有 12 个独立的 var(x_train) 和一个标签 var(y_train)),具有多个值(比如 4,5,7),类型(x_train)是和类型(feature_importance) )是

致谢:一些元素借自这篇文章 http://www.tonicebrian.com/2012/11/05/training-gradient-boosting-trees-with-python/

最佳答案

初始化 ExtraTreeClassifier 时,有一个选项compute_importances,默认为None。换句话说,您需要将 ExtraTreeClassifier 初始化为

clf = ExtraTreesClassifier(n_estimators=10,max_features='auto',random_state=0,compute_importances=True)

这样它将计算特征重要性。

至于GradientBoostedRegressor ,没有这样的选项,并且将始终计算特征重要性。

关于python-2.7 - feature_importances_ 在 ExtraTreesClassifier :TypeError: 'NoneType' object is not iterable 中显示为 NoneType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21360960/

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