Учитывая оценку ансамбля , я бы хотел перебрать содержимое его поля estimators_
.
Проблема в том, что поле может иметь очень другая структура.
Например, для GradientBoostingClassifier
это ранг-2 numpy.ndarray
(поэтому я могу использовать nditer
), а дляRandomForestClassifier
это просто list
.
Могу ли я сделать лучше, чем это:
import numpy as np
def iter_estimators(estimators):
if isinstance(estimators, np.ndarray):
return map(lambda x: x[()], np.nditer(estimators, flags=["refs_ok"]))
return iter(estimators)