python缺少1个必需的位置参数

这是一个创建分类器的简单ML程序。我是按照ML上的Google开发者播放列表创建的。当我运行程序时,输出错误(TypeError:fit()缺少1个必需的位置参数:“ y_train”)。我不知道这怎么可能。


from scipy.spatial import distance

def euc(a,b):

    return distance.euclidean(a,b)

class ScrappyKNN():

    def fit(self,X_train,y_train):

        self.X_train=X_train

        self.Y_train=y_train

    def predict(self,X_test):

        predictions=[]

        for row in X_test:

            label = self.closest(row)

            predictions.append(label)

        return predictions

    def closest(self,row):

        best_dist = euc(row,self.X_train[0])

        best_index=0

        for i in range(1,len(self.X_train)):

            dist= euc(row,self.X_train[i])

            if dist>best_dist:

                best_dist=dist

                best_index=i

        return self.Y_train[best_index]

from sklearn import datasets

from sklearn.cross_validation import train_test_split

from sklearn.metrics import accuracy_score

iris = datasets.load_iris()

X=iris.data

y=iris.target

X_train, X_test, y_train, y_test=train_test_split(X,y,test_size=0.5)

my_classifier=ScrappyKNN

my_classifier.fit(X_train, y_train)   

predictions=my_classifier.predict(X_test)

print(accuracy_score(y_test,predictions))


莫回无
浏览 272回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python