Ich habe einen Zufalls-Forest-Klassifizierer für meinen Datensatz mit 7 Features und etwa 1 Million Zeilen oder Datensätzen eingerichtet.Speicherfehler bei zufälliger Forest Classifier-Vorhersage
Folgendes ist mein Code.
randForestClassifier=RandomForestClassifier(n_estimators=10,max_depth=3)
randForestClassifier.fit(X_train,y)
pred=randForestClassifier.predict(featues_test)
Ich erhalte Speicherfehler, wenn ich Methode meiner classifier.How vorhersagen, um es zu beheben?
Es folgt mein vollständiges Protokoll
randForestClassifier.predict(featues_test)
Traceback (most recent call last):
File "<ipython-input-15-0b7612d6e958>", line 1, in <module>
randForestClassifier.predict(featues_test)
File "C:\Python27\lib\site-packages\sklearn\ensemble\forest.py", line 462, in predict
proba = self.predict_proba(X)
File "C:\Python27\lib\site-packages\sklearn\ensemble\forest.py", line 513, in predict_proba
for e in self.estimators_)
File "C:\Python27\lib\site-packages\sklearn\externals\joblib\parallel.py", line 659, in __call__
self.dispatch(function, args, kwargs)
File "C:\Python27\lib\site-packages\sklearn\externals\joblib\parallel.py", line 406, in dispatch
job = ImmediateApply(func, args, kwargs)
File "C:\Python27\lib\site-packages\sklearn\externals\joblib\parallel.py", line 140, in __init__
self.results = func(*args, **kwargs)
File "C:\Python27\lib\site-packages\sklearn\ensemble\forest.py", line 106, in _parallel_helper
return getattr(obj, methodname)(*args, **kwargs)
File "C:\Python27\lib\site-packages\sklearn\tree\tree.py", line 592, in predict_proba
proba = self.tree_.predict(X)
File "sklearn/tree/_tree.pyx", line 3207, in sklearn.tree._tree.Tree.predict (sklearn\tree\_tree.c:24468)
File "sklearn/tree/_tree.pyx", line 3209, in sklearn.tree._tree.Tree.predict (sklearn\tree\_tree.c:24340)
MemoryError
ok ...... aber was ist der Ausweg? Es sollte ein Weg sein repariere es. –
Haben Sie versucht, weniger als 1 Million Zeilen zu pushen? Abhängig von der Speichergröße und der Größe einer Zeile können Sie leicht eine hohe Speichergröße erreichen. Wenn eine Zeile 1000 Byte im Speicher ist, erhalten Sie 10 GB Daten im RAM gespeichert. – aluriak
Ich schneide 10000 Zeilen und es funktionierte perfekt ..... aber jetzt was ist mit diesen vollen Daten, diese 1 Million Zeilen? –