如何解决类型错误:predict() 缺少 1 个必需的位置参数:'y_train'
我无法将 gridsearchcv 与我的自定义估算器一起使用。我收到一条警告说评分失败并且我的 predict() 缺少 1 个位置参数,即 y_train。 这是我的代码 `class FLVQ(BaseEstimator):
def __init__ (self,a=5):
self.a = a
def fit(self,x_train,y_train):
#somecodehere
return self
def compare(self,x):
distance = self.count_dist(x)
index_dist = np.argmin(distance,axis=1)
return np.array([self.centroid[i] for i in index_dist])
def predict(self,y_train):
return np.sum(self.compare(x_train)==y_train.flatten())/x_train.shape[0]
`
当我运行我的 GS 时:
params={'a':[3,5]},gs = gridsearchcv(FLVQ(),param_grid=params,cv=4,scoring="accuracy")
gs.fit(x_train,y_train)
gs.predict(x_test)
我收到“用户警告:评分失败。这些参数在此训练测试分区上的分数将设置为 nan。”和 TypeError 因为我预测缺少 1 个参数。我该如何解决这个问题?由于我使用 predict 来比较结果和实际标签,因此它显示了模型的准确性
解决方法
说清楚,我没有抓住在预测函数中写 already rewrite
的重点,只是为了表明我的想法,请看下面:
y_train
要获取更多信息,Scikit-learn/linear regression
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。