Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 功能_重要性_在ExtraTreesClassifier中显示为非类型:TypeError:“非类型”对象不可编辑_Python 2.7_Machine Learning_Scikit Learn_Nonetype - Fatal编程技术网

Python 2.7 功能_重要性_在ExtraTreesClassifier中显示为非类型:TypeError:“非类型”对象不可编辑

Python 2.7 功能_重要性_在ExtraTreesClassifier中显示为非类型:TypeError:“非类型”对象不可编辑,python-2.7,machine-learning,scikit-learn,nonetype,Python 2.7,Machine Learning,Scikit Learn,Nonetype,我试图选择重要的特征,或者至少理解哪些特征解释了给定数据集的更多变化。为此,我使用了树外分类器和梯度增强回归器,然后使用:- 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_importa

我试图选择重要的特征,或者至少理解哪些特征解释了给定数据集的更多变化。为此,我使用了树外分类器和梯度增强回归器,然后使用:-

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
在这篇文章中,我真的很感兴趣的是为视觉表现绘制它们——甚至是初步的,只是看看重要性的相对顺序和相应的指数

我发现令人困惑的是——如果我像下面那样使用GradientBoostingRegressor,我确实得到了特征的重要性及其指数。我做错了什么

#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个独立的varsx_序列和一个标签vary_序列,具有多个值,例如4,5,7和typex_序列以及typefeature_重要性

确认:一些元素是从这篇文章中借来的

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

以便计算特征重要性

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

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

以便计算特征重要性


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

用于获取计算重要性数组-谢谢您和+1。你能谈谈如何选择n_估计量吗?在scikit学习文档中,关于这方面的信息很少——我可以随机化一下,看看哪一个符合拟合优度吗?在确定良好拟合时,您可能希望监控验证集上的预测误差,而不是训练集上的误差,以避免过度拟合。例如,您可以尝试增加迭代次数,训练错误应不断减少-但在验证错误开始增加时停止。ExtraTreeClassifier的compute_importances for ExtraTreeClassifier在较新版本中,不需要任何其他工作来获取compute_importances数组-谢谢您和+1。你能谈谈如何选择n_估计量吗?在scikit学习文档中,关于这方面的信息很少——我可以随机化一下,看看哪一个符合拟合优度吗?在确定良好拟合时,您可能希望监控验证集上的预测误差,而不是训练集上的误差,以避免过度拟合。例如,您可以尝试增加迭代次数,训练错误应该会不断减少,但当验证错误开始增加时,您就会停止。ExtraTreeClassifier的计算重要性在新版本中不再需要
#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_
clf = ExtraTreesClassifier(n_estimators=10,max_features='auto',random_state=0,compute_importances=True)