Meine Trainingsmatrix X hat Form (5182, 19231) und y ist eine Liste von 1s und 0s mit Länge 5182. Meine Testmatrix hat Form (496, 5477). Ich habe sie in separaten Pickle-Dateien gespeichert. Hier ist mein Code:Python sklearn.linear_model: LinearRegression() ValueError aufgetreten, wenn .predict()
def read(pklFile1):
f=open(pklFile1, 'rb')
Y = cPickle.load(f)
f.close()
return Y
if __name__ == '__main__':
X=read("results/train_feature.pkl")
y=read("results/train_label.pkl")
test=read("results/test_feature.pkl")
target=read("test_label.pkl")
clf=LogisticRegression()
clf=clf.fit(X, y)
predicted= clf.predict(test)
accuracy=np.mean(predicted == target)
print accuracy
Wenn ich meinen Code ausführen, wird die folgende Meldung aufgetreten beim Laufen
predicted = clf.predict(test)
:
ValueError: X has 5477 features per sample; expecting 19231
Wie kann ich es beheben?
Die Anzahl der Merkmale, die nicht übereinstimmen zwischen Trainings- und Vorhersagephase, Sie können Ihr Modell nicht mit weniger oder mehr Funktionen als mit der Anzahl der Features in der Trainingsphase vorhersagen. –