类型错误:无法克隆对象 '<class 'sklearn.svm._classes.SVC'>'

Posted

技术标签:

【中文标题】类型错误:无法克隆对象 \'<class \'sklearn.svm._classes.SVC\'>\'【英文标题】:TypeError: Cannot clone object '<class 'sklearn.svm._classes.SVC'>'类型错误:无法克隆对象 '<class 'sklearn.svm._classes.SVC'>' 【发布时间】:2021-02-13 15:16:21 【问题描述】:
from sklearn.metrics import confusion_matrix
from sklearn.model_selection import GridSearchCV

#giving params for a linear , rbf , poly and sigmoid 
params_grid = [  'kernel':['linead'] , 'C':[1,10,100,1000]  ,
                'kernel':['rbf'] , 'gamma':[1e-3,1e-4,1e-2] , 'C':[1,10,100,1000] ,
                'kernel':['poly'] , 'degree':[3,4,5,6] , 'C':[1,10,100,1000] ,
                'kernel':['sigmoid'] , 'C': [1,10,100,1000] ]

svm_model = GridSearchCV(svm.SVC , params_grid , cv=10)
svm_model.fit(X,Y)

其中 X 是形状 (42000, 784) 的数据集,Y 形状是 (42000,)

TypeError: Cannot clone object '&lt;class 'sklearn.svm._classes.SVC'&gt;' (type &lt;class 'abc.ABCMeta'&gt;): it does not seem to be a scikit-learn estimator as it does not implement a 'get_params' methods.

【问题讨论】:

改用svm.SVC() 【参考方案1】:

不确定svm.SVC是什么,但根据docs,它必须实现estimator接口。

假设这是为了实现 scikit-learn 估计器接口。要么估算器需要提供评分函数,要么评分必须通过。

【讨论】:

以上是关于类型错误:无法克隆对象 '<class 'sklearn.svm._classes.SVC'>'的主要内容,如果未能解决你的问题,请参考以下文章

numpy 引发错误:TypeError:无法推断类型的架构:<class 'numpy.float64'>

无法确定类型“Class”的JSON对象类型

无法连接“<class 'numpy.ndarray'>”类型的对象;只有 Series 和 DataFrame obj 是有效的

TypeError:无法将 <class 'scipy.sparse.csr.csr_matrix'> 类型的对象转换为张量

python中的DES加密错误(TypeError:对象类型<class'str'>不能传递给C代码)

TypeError:无法连接类型为“<class 'yfinance.ticker.Options'>”的对象;只有 Series 和 DataFrame obj 是有效的