python递归函数特点_python – 使用scikit学习的随机森林上的递归特征消除

我正在尝试使用scikit学习和随机森林分类器预处理递归特征消除,OOB ROC作为对递归过程中创建的每个子集进行评分的方法.

然而,当我尝试使用RFECV方法时,我得到一个错误,说AttributeError:’RandomForestClassifier’对象没有属性’coef_’

随机森林本身没有系数,但是他们确实按Gini得分排名.所以,我想知道如何摆脱这个问题.

请注意,我想使用一种方法,将明确告诉我,在我使用递归特征选择尝试最小化我将输入到最终分类器的数据量时,我的大熊猫DataFrame中的最佳分组中选择了哪些功能.

以下是一些示例代码:

from sklearn import datasets

import pandas as pd

from pandas import Series

from sklearn.ensemble import RandomForestClassifier

from sklearn.feature_selection import RFECV

iris = datasets.load_iris()

x=pd.DataFrame(iris.data, columns=['var1','var2','var3', 'var4'])

y=pd.Series(iris.target, name='target')

rf = RandomForestClassifier(n_estimators=500, min_samples_leaf=5, n_jobs=-1)

rfecv = RFECV(estimator=rf, step=1, cv=10, scoring='ROC', verbose=2)

selector=rfecv.fit(x, y)

Traceback (most recent call last):

File "", line 1, in

File "/Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/feature_selection/rfe.py", line 336, in fit

ranking_ = rfe.fit(X_train, y_train).ranking_

File "/Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/feature_selection/rfe.py", line 148, in fit

if estimator.coef_.ndim > 1:

AttributeError: 'RandomForestClassifier' object has no attribute 'coef_'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值