我有二进制分类方法名为F分类器,我需要将它应用于多类分类问题,该分类器没有任何decision_function (或predict_proba),其核心只接受{1,-1}作为类标签!我尝试使用sklearn中的OneVsRestClassifier多分类器,以便将F分类器调到多类分类器中:
fm = FClassification(n_iter=1000, init_stdev=0.1, rank=2, random_state=123,l2_reg_w=0, l2_reg_V=0, l2_reg=0, step_size=0.1)
OneVsRestClassifier(fm).fit(X_train,y_train)
但我面临以下错误:
RuntimeError:无法克隆对象FClassification(init_stdev=0.1、l2_reg=None、l2_reg_V=0、l2_reg_w=0、n_iter=1000、random_state=123、rank=2、step_size=0.1),因为构造函数似乎没有设置参数l2_reg_V
您认为如果是F分类器的问题不能满足OneVsRestClassifier的期望,如果我应该定义一个自定义的predict_proba适合我的数据分类器,以解决这个问题?或者,如果错误可能有其他原因和解决方案?
发布于 2017-03-03 19:22:43
您需要实现get_params
方法来导出所有的超参数,或者从sklearn.base.BaseEstimator
继承分类器,因为在OneVsRestClassifier
的遮罩下,每个分类器都是分布式的。所以你的分类器被克隆了。
https://datascience.stackexchange.com/questions/11454
复制相似问题