【发布时间】:2018-03-13 12:54:16
【问题描述】:
按照 youtube 上的 google 开发人员 ML 食谱,我编写了这段代码并尝试使用 jupyter python3 notebook 运行。链接:https://www.youtube.com/watch?v=AoeEHqVSNOw
我无法获得结果,因为我收到此错误 '
from scipy.spatial import distance
def euc(a,b):
return distance.euclidean
class KNN():
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): # <--error here
best_dist=dist
best_index=i
return self.y_train[best_index]
#KNeighbors Classifier
my_classifier=KNN()
my_classifier.fit(X_train,y_train)
predictions=my_classifier.predict(X_test)
from sklearn.metrics import accuracy_score
print(accuracy_score(y_test,predictions))
【问题讨论】:
标签: python python-3.x machine-learning jupyter-notebook knn