【发布时间】:2018-05-13 04:43:05
【问题描述】:
我正在滚动自己的预测器,并希望像使用任何 scikit 例程(例如 RandomForestRegressor)一样使用它。我有一个包含fit 和predict 方法的类,它们似乎工作正常。但是,当我尝试使用一些 scikit 方法(例如交叉验证)时,会出现如下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\sklearn\cross_validation.py", line 1152, in cross_val_
score
for train, test in cv)
File "C:\Python27\lib\site-packages\sklearn\externals\joblib\parallel.py", line 516, in __
call__
for function, args, kwargs in iterable:
File "C:\Python27\lib\site-packages\sklearn\cross_validation.py", line 1152, in <genexpr>
for train, test in cv)
File "C:\Python27\lib\site-packages\sklearn\base.py", line 43, in clone
% (repr(estimator), type(estimator)))
TypeError: Cannot clone object '<__main__.Custom instance at 0x033A6990>' (type <type 'inst
ance'>): it does not seem to be a scikit-learn estimator a it does not implement a 'get_para
ms' methods.
我看到它希望我实现一些方法(大概是 get_params 以及可能是 set_params 和 score),但我不确定制作这些方法的正确规范是什么。有没有关于这个主题的一些信息?谢谢。
【问题讨论】:
-
谢谢,正是我想要的!提交它作为答案,我会接受。
标签: python scikit-learn