在使用MLKNN时,传递x_train和y_train时报错TypeError: init() takes 1 positional argument but 2 were given
我的代码
classifier = MLkNN()
classifier.fit(features,labels)
pred = classifier.predict(x_test)
print(accuracy_score(y_test,pred))
报错信息
Traceback (most recent call last):
File "E:/python项目/LEAM-master 2/test.py", line 26, in
classifier.fit(features,labels)
File "C:\ProgramData\Anaconda3\envs\LEAM-master 2\lib\site-packages\skmultilearn\adapt\mlknn.py", line 218, in fit
self._cond_prob_true, self._cond_prob_false = self._compute_cond(X, self._label_cache)
File "C:\ProgramData\Anaconda3\envs\LEAM-master 2\lib\site-packages\skmultilearn\adapt\mlknn.py", line 165, in compute_cond
self.knn = NearestNeighbors(self.k).fit(X)
TypeError: init() takes 1 positional argument but 2 were given
这个是参数对不上问题,你看看你classifier.fit(features,labels)的fit源码有多小个参数,导致参数不同,应该是新旧版本的变更问题
同一个错误,我本来其实是可以正常运行的,但是有一次我升级了scikit-learn的版本,然后就出现博主这个错误,后面我把版本降回来,就不报错了,我电脑这里不报错时,scikit-learn的版本是0.23.2
楼主怎么解决的呢?label_binarize() takes 1 positional argument but 2 were given