Dre*_*her 6

结合如何列出所有支持predict_proba()http://scikit-learn.org/stable/modules/classes.html#module-sklearn.base的scikit-learn分类器可得出解决方案:

from sklearn.utils.testing import all_estimators
from sklearn import base

estimators = all_estimators()

for name, class_ in estimators:
    if issubclass(class_, base.ClassifierMixin):
        print(name)
Run Code Online (Sandbox Code Playgroud)

或使用任何其他基类:ClusterMixin,RegressorMixin,TransformerMixin。


Fer*_*ann 5

作为更新的解决方案,sklearn 将模块更新为sklearn.utils.all_estimators。以下是导入所有回归模型的示例:

from sklearn.utils import all_estimators

estimators = all_estimators(type_filter='regressor')

all_regs = []
for name, RegressorClass in estimators:
    try:
        print('Appending', name)
        reg = RegressorClass()
        all_regs.append(reg)
    except Exception as e:
        print(e)
Run Code Online (Sandbox Code Playgroud)

其中一些需要初始化参数(如估计器),并且必须使用 try..except 来忽略。