繁体   English   中英

如何在 scikit-learn 中列出所有分类/回归/聚类算法?

[英]How to list all classification/regression/clustering algorithms in scikit-learn?

类似于如何列出支持 predict_proba() 的所有 scikit-learn 分类器,我想检索 scikit-learn 当前支持的所有分类/回归/聚类算法的列表。

结合如何列出所有支持 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)

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

作为更新的解决方案,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)

其中一些需要 init 参数(如 estimator)并且必须使用 try..except 忽略。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM