Scikit learn 是否有与插入符号'等价的符号;Scikit学习中的getmodelinfo()函数?

Scikit learn 是否有与插入符号'等价的符号;Scikit学习中的getmodelinfo()函数?,scikit-learn,r-caret,Scikit Learn,R Caret,我正在尝试创建一个数据框架,其中包含来自Scikit Learn的所有算法以及每个算法的元数据。在R中的插入符号中,有一个名为getmodelinfo()的函数可以执行此操作 Scikit Learn中是否有类似的工具?您可以使用sklearn.utils和inspect获得最接近您想要的工具。例如,您可以获得所有sklearn类的列表,或只是分类器,如: from sklearn.utils.testing import all_estimators all_est = all_estimat

我正在尝试创建一个数据框架,其中包含来自Scikit Learn的所有算法以及每个算法的元数据。在R中的插入符号中,有一个名为
getmodelinfo()
的函数可以执行此操作


Scikit Learn中是否有类似的工具?

您可以使用
sklearn.utils
inspect
获得最接近您想要的工具。例如,您可以获得所有sklearn类的列表,或只是分类器,如:

from sklearn.utils.testing import all_estimators
all_est = all_estimators(type_filter=None)
all_classifiers = all_estimators(type_filter="classifier")
然后在
inspect
的帮助下,您可以检索分类器的参数
。fit
方法如下:

import inspect
all_classifiers_fit_args = {}
for name, clf in all_classifiers:
    all_classifiers_fit_args[name] = inspect.signature(clf.fit)
最后,您可以将信息放入以下文件:

df = pd.DataFrame(all_classifiers_fit_args.items(), columns=["fit_classifier", "args"])
df
    fit_classifier  args
0   AdaBoostClassifier  (self, X, y, sample_weight=None)
1   BaggingClassifier   (self, X, y, sample_weight=None)
2   BernoulliNB (self, X, y, sample_weight=None)
3   CalibratedClassifierCV  (self, X, y, sample_weight=None)
4   CategoricalNB   (self, X, y, sample_weight=None)
5   CheckingClassifier  (self, X, y, **fit_params)
6   ClassifierChain (self, X, Y)
7   ComplementNB    (self, X, y, sample_weight=None)
8   DecisionTreeClassifier  (self, X, y, sample_weight=None, check_input=T...
...
或者,您可以访问分类器本身的参数:

for name, clf in all_classifiers:
    all_classifiers_args[name] = inspect.signature(clf)
df = pd.DataFrame(all_classifiers_args.items(), columns=["classifier", "args"])
df
    classifier  args
0   AdaBoostClassifier  (base_estimator=None, n_estimators=50, learnin...
1   BaggingClassifier   (base_estimator=None, n_estimators=10, max_sam...
2   BernoulliNB (alpha=1.0, binarize=0.0, fit_prior=True, clas...
3   CalibratedClassifierCV  (base_estimator=None, method='sigmoid', cv=None)
4   CategoricalNB   (alpha=1.0, fit_prior=True, class_prior=None)
5   CheckingClassifier  (check_y=None, check_X=None, foo_param=0, expe...
6   ClassifierChain (base_estimator, order=None, cv=None, random_s...
7   ComplementNB    (alpha=1.0, fit_prior=True, class_prior=None, ...
8   DecisionTreeClassifier  (criterion='gini', splitter='best', max_depth=...
...