尝试拟合网格估计器但收到 TypeError:无法克隆对象

问题描述

我一直在尝试拟合网格搜索 K 最近邻分类器,但收到以下 TpyeError 消息

TypeError: Cannot clone object. You should provide an instance of scikit-learn estimator instead of a 
class.

原始数据如下:

X_train

compactness sa      area    roofM3  h   o   glaz    glazing_area_distribution
0   0.66    759.5   318.5   220.50  3.5 2   0.40    3
1   0.76    661.5   416.5   122.50  7.0 3   0.10    1
2   0.66    759.5   318.5   220.50  3.5 3   0.10    1
3   0.74    686.0   245.0   220.50  3.5 5   0.10    4
4   0.64    784.0   343.0   220.50  3.5 2   0.40    4
... ... ... ... ... ... ... ... ...
609 0.98    514.5   294.0   110.25  7.0 4   0.40    2

X_train.describe()

count 614.000000614.000000  614.000000  614.000000  614.000000  614.000000  614.000000  614.000000
mean0.762606    673.271173  319.617264  176.826954  5.227199    3.495114    0.236645    2.802932
std 0.106725    88.757699   43.705256   45.499990   1.751278    1.124751    0.133044    1.571128
min 0.620000    514.500000  245.000000  110.250000  3.500000    2.000000    0.000000    0.000000
25% 0.660000    612.500000  294.000000  122.500000  3.500000    2.000000    0.100000    1.000000
75% 0.820000    759.500000  343.000000  220.500000  7.000000    4.000000    0.400000    4.000000
max 0.980000    808.500000  416.500000  220.500000  7.000000    5.000000    0.400000    5.000000

尝试创建和拟合模型

 from sklearn.model_selection import StratifiedKFold

 model = StratifiedKFold()
 cv_object = StratifiedKFold(n_splits=5,shuffle=True,random_state=50)


 grid_values = {'n_neighbors': ['1','2','3','4','5'],'weights': ['uniform','distance']
          }



from sklearn.model_selection import GridSearchCV

from sklearn.neighbors import KNeighborsClassifier as KNN

model = KNN()

gridsearch = GridSearchCV(KNN,cv=cv_object,param_grid=grid_values,scoring='neg_mean_absolute_error')



grid_estimator.fit(X_train,y_train)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)