Python 使用GridSearchCV时出现类型错误?

Python 使用GridSearchCV时出现类型错误?,python,pandas,scikit-learn,Python,Pandas,Scikit Learn,我正在尝试使用GridSearchCV调整RandomForestClassifier的n_估计量。但是我得到的类型错误是->TypeError:get_params()缺少一个必需的位置参数:“self” 代码: 从sklearn.grid\u搜索导入GridSearchCV 从sklearn.employ导入随机林分类器 n_树=列表(范围(10110,10)) 打印(n_树) [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] 参数网格=dict(n_估计量

我正在尝试使用
GridSearchCV
调整
RandomForestClassifier
n_估计量。但是我得到的类型错误是->
TypeError:get_params()缺少一个必需的位置参数:“self”

代码:

从sklearn.grid\u搜索导入GridSearchCV
从sklearn.employ导入随机林分类器
n_树=列表(范围(10110,10))
打印(n_树)
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
参数网格=dict(n_估计量=n_树)
打印(参数网格)
{'n_估计数':[10,20,30,40,50,60,70,80,90,100]}
grid=GridSearchCV(RandomForestClassifier,参数网格,cv=5,评分='roc_auc')

grid.fit(X,y)在
grid=GridSearchCV(RandomForestClassifier,param_grid,cv=5,scoring='roc_auc')
行中,而不是您编写的内容,尝试一下
grid=GridSearchCV(RandomForestClassifier(),param_grid,cv=5,scoring='roc_auc')

我不能肯定。。因为你没有给我
X
y
,或者我可以在我的笔记本电脑上复制它,让你知道它是否有效


让我知道它是否有效

你试过我的解决方案吗?你需要传递分类器而不是基类作为估计器。因此,将
()
添加到基类,即
RandomForestClassifier()
我将在5分钟后通知您,因为现在
网格.fit(X,y)
正在运行,需要时间:)
from sklearn.grid_search import GridSearchCV
from sklearn.ensemble import RandomForestClassifier

n_trees = list(range(10,110,10))
print(n_trees)

[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

param_grid = dict(n_estimators=n_trees)
print(param_grid)

{'n_estimators': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}

grid = GridSearchCV(RandomForestClassifier, param_grid, cv=5, scoring='roc_auc')


grid.fit(X,y)   <--- Getting error at this cell