ValueError während der Verwendung Scikit lernen. Anzahl der Funktionen des Modells nicht übereinstimmen, dass der Eingang

Arbeite ich an einer Klassifizierung problem mit RandomForestClassifier. Im code bin ich Aufteilung des datasets in einen Zug-und test-Daten für die Vorhersagen getroffen werden.

Hier der code:

from sklearn.ensemble import RandomForestClassifier
from sklearn.cross_validation import train_test_split
import numpy as np
from numpy import genfromtxt, savetxt

a = (np.genfromtxt(open('filepath.csv','r'), delimiter=',', dtype='int')[1:])
a_train, a_test = train_test_split(a, test_size=0.33, random_state=0)


def main():
    target = [x[0] for x in a_train]
    train = [x[1:] for x in a_train]

    rf = RandomForestClassifier(n_estimators=100)
    rf.fit(train, target)
    predicted_probs = [[index + 1, x[1]] for index, x in enumerate(rf.predict_proba(a_test))]

    savetxt('filepath.csv', predicted_probs, delimiter=',', fmt='%d,%f', 
            header='Id,PredictedProbability', comments = '')

if __name__=="__main__":
    main()

Auf exection allerdings bin ich mir immer die folgende Fehlermeldung:

ValueError: Anzahl der Merkmale des Modells muss mit der Eingabe.
Modell n_features 1434 und Eingang n_features ist 1435

Irgendwelche Vorschläge, wie ich Vorgehen sollte? Danke.

InformationsquelleAutor user3466132 | 2014-04-26
Schreibe einen Kommentar