Also mache ich eine Kaggle-Wettbewerb und die Größe der Testdatensatz es 880.000 Zeilen lang. Und ich möchte einen zufälligen Forest-Klassifikator auf 10.000 Zeilen davon anwenden. Aber wenden Sie es immer noch auf alles an.
Hier ist, wie mein Klassifizierer eingerichtet istWie man einen randomforest Klassifikator auf den gesamten Datensatz anwenden, einen kleinen Abschnitt nach dem anderen in Python
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(n_estimators=100)
# Training data features, skip the first column 'Crime Category'
train_features = train[:, 1:]
# 'Crime Category' column values
train_target = train[:, 0]
clf = clf.fit(train_features, train_target)
score = clf.score(train_features, train_target)
"Mean accuracy of Random Forest: {0}".format(score)
ich verwendet, um dieses mein Modell zu trainieren und die Genauigkeit zu erhalten. Ich habe die Trainingsdaten kleiner gemacht, damit ich schneller Ergebnisse erzielen konnte. Aber damit ich mich Kaggle unterwerfen kann, muss ich die Testdaten vorhersagen. Grundsätzlich möchte ich dies tun:
test_x = testing_data[:, 1:]
print('-',*38)
for every 10,000 rows in test_x
test_ y = clf.predict(value)
print(".")
add the values to an array then do the next 10,000 rows
Auf 10.000 Zeilen ich die Werte vorhersagen wollen, fügen Sie die vorhergesagten Werte irgendwo dann die nächsten 10.000 Zeilen tun. Wenn ich alle 880.000 Zeilen gleichzeitig drücke, erstarrt mein Computer. Ich hoffe, dass ich, indem ich 10.000 Reihen gleichzeitig mache und den Druck (".") Benutze, einen Fortschrittsbalken bekomme. Ich änderte die test.csv von pandas
dataframe
zu values
unter Verwendung der test= test.values
.
Ich habe so viele Informationen wie möglich aufgenommen, wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen.
es in einem Attribute gibt: ‚numpy.ndarray‘ Objekt kein Attribut ‚Index‘ hat, weil die test_x ein numpy.ndarray ist. – Zander
Sieht so aus, als ob Sie 'numpy arrays' verwenden, nicht Pandas' DataFrames'. Sie haben die Wahl, einen zu erstellen, indem Sie 'test_x = DataFrame (test_x)' verwenden oder für 'numpy' schreiben müssen, zum Beispiel mit 'np.array_split'. – Stefan
Ich landete meine test_x zurück zu einem Pandas dann bekam ich diesen Fehler 'kann nicht ein NDFrame-Objekt verketten' @Stefan Jansen – Zander