Python 对象没有属性错误(谷歌机器学习教程Ep.5)
嗨,我的代码有点问题,我对python有点陌生,但我确实对类和对象有一些了解Python 对象没有属性错误(谷歌机器学习教程Ep.5),python,Python,嗨,我的代码有点问题,我对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_t
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'
回溯(最近一次呼叫最后一次):
文件“pipelineKNeighbours.py”,第30行,在
预测=我的分类器。预测(X_测试)
AttributeError:“非类型”对象没有属性“预测”
我做错了什么?线路
my_classifier = my_classifier.fit(X_train,Y_train)
将my_classifier重新定义为fit()的返回值,该值为None,因此my_classifier不再指向ScrapsYKNN类的实例,而是指向非类型对象-因此,出现了错误