对象没有属性错误(谷歌机器学习教程第5集)



嗨,我的代码遇到了一些问题,我对python有点陌生,但我确实对类和对象有一些了解。

import random
class ScrappyKNN():
def fit(self,X_train,Y_train):
self.X_train = X_train
self.Y_train = Y_train
def predict(self, X_test,a):
predictions = []
for row in X_test:
label = random.choice(self.Y_train)
predictions.append(label)
return predictions
import numpy as np
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
Y = iris.target
from sklearn.model_selection import train_test_split
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size = .5)
#from sklearn.neighbours import KNeighboursClassifier
my_classifier = ScrappyKNN()
my_classifier = 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))

但是我在运行时遇到错误:

Traceback (most recent call last):
File "pipelineKNeighbours.py", line 30, in <module>
predictions = my_classifier.predict(X_test)
AttributeError: 'NoneType' object has no attribute 'predict'

我做错了什么?

my_classifier = my_classifier.fit(X_train,Y_train)

将my_classifier重新定义为 fit(( 的返回值,即 None,因此my_classifier不再指向 ScrappyKNN 类的实例,而是指向 NoneType 对象 - 因此,错误。

最新更新