Je suis en train d'écrire le classificateur suivant pour tester sci-kit.
...
class MyClassifier():
def fit(self, x_train, y_train):
self.x_train = x_train
self.y_train = y_train
return
def predict(self, x_test):
prediction = []
for row in x_test:
label = self.closest(row)
prediction.append(label)
return prediction
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[0])
if dist < best_dist:
best_dist = dist
best_index = i
return self.y_train[best_index]
Et plus tard, je veux utiliser mon propre classificateur :
# Utiliser mon propre Classifier
classifer = MyClassifier()
print(classifer)
classifer = classifer.fit(x_train, y_train)
prediction = classifer.predict(x_test)
print(prediction)
print(y_test)
Quand je l'exécute, j'obtiens l'erreur suivante :
<__main__.MyClassifier object at 0x103ec5668>
Traceback (most recent call last):
File "/.../NewClassifier.py", line 72, in
prediction = classifer.predict(x_test)
AttributeError: 'NoneType' object has no attribute 'predict'
Qu'est-ce qui ne va pas avec la fonction predict()?