lr = lm.LogisticRegression(penalty='l2', dual=True, tol=0.0001,
C=1, fit_intercept=True, intercept_scaling=1.0,
class_weight=None, random_state=None)
rd = AdaBoostClassifier(base_estimator=lr,
learning_rate=1,
n_estimators=20,
algorithm="SAMME")
##here, i am deleting unnecesseary objects
##print X.shape
##(7395, 412605)
print "20 Fold CV Score: ", np.mean(cross_validation.cross_val_score(rd, X, y, cv=20, scoring='roc_auc'))
Когда я запускаю это я получаю эту ошибку:MemoryError при преобразовании разреженной матрицы в плотную матрицу? (NumPy, scikit)
TypeError: A sparse matrix was passed, but dense data is required. Use X.toarray() to convert to a dense numpy array.
И потом, я изменил код так:
print "20 Fold CV Score: ", np.mean(cross_validation.cross_val_score(rd, X.toarray(), y, cv=20, scoring='roc_auc'))
Теперь у меня есть следующее исключение :
File "/usr/lib/python2.7/dist-packages/scipy/sparse/compressed.py", line 559, in toarray
return self.tocoo(copy=False).toarray(order=order, out=out)
File "/usr/lib/python2.7/dist-packages/scipy/sparse/coo.py", line 235, in toarray
B = self._process_toarray_args(order, out)
File "/usr/lib/python2.7/dist-packages/scipy/sparse/base.py", line 628, in _process_toarray_args
return np.zeros(self.shape, dtype=self.dtype, order=order)
MemoryError
Любые предложения по решению проблемы?
Это реализация. Массивная матричная поддержка деревьев решений и, следовательно, все причудливые ансамблевые оценки были в списке задач очень долгое время. –