【问题标题】:I am getting type error while using GridSearchCV?使用 GridSearchCV 时出现类型错误?
【发布时间】:2018-06-17 07:58:42
【问题描述】:

我正在尝试使用 GridSearchCV 调整 n_estimators 的 RandomForestClassifier。但我收到类型错误提示 -> TypeError: get_params() missing 1 required positional argument: 'self'

代码:

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

【问题讨论】:

  • 你试过我的解决方案了吗?
  • 您需要传递分类器而不是基类作为估计器。所以将() 添加到基类,即RandomForestClassifier()

标签: python pandas scikit-learn


【解决方案1】:

在grid = GridSearchCV(RandomForestClassifier, param_grid, cv=5, scoring='roc_auc') 行中,代替你写的,试试 grid = GridSearchCV(RandomForestClassifier(), param_grid, cv=5, scoring='roc_auc')

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

让我知道它是否有效!

【讨论】:

  • 我会在 5 分钟内通知您,因为现在 grid.fit(X,y) 正在运行,需要时间 :)
猜你喜欢
  • 1970-01-01
  • 2021-02-15
  • 1970-01-01
  • 1970-01-01
  • 2021-09-06
  • 2011-10-17
  • 2017-06-15
  • 1970-01-01
  • 2020-02-02
相关资源
最近更新 更多