这是一个创建分类器的简单ML程序。我是按照ML上的Google开发者播放列表创建的。当我运行程序时,输出错误(TypeError:fit()缺少1个必需的位置参数:“ y_train”)。我不知道这怎么可能。from scipy.spatial import distancedef 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 datasetsfrom sklearn.cross_validation import train_test_splitfrom sklearn.metrics import accuracy_scoreiris = datasets.load_iris()X=iris.datay=iris.targetX_train, X_test, y_train, y_test=train_test_split(X,y,test_size=0.5)my_classifier=ScrappyKNNmy_classifier.fit(X_train, y_train) predictions=my_classifier.predict(X_test)print(accuracy_score(y_test,predictions))
添加回答
举报
0/150
提交
取消