0

我有一些使用Grid Search创建的分类器,还有一些直接作为Random Forests创建的分类器。

随机森林返回类型 sklearn.ensemble.forest.RandomForestClassifier,以及使用 gridSearch 返回类型创建的随机森林sklearn.grid_search.RandomizedSearchCV

我正在尝试以编程方式检查估计器的类型(以决定是否需要best_estimator_特征重要性上使用),但似乎找不到这样做的好方法。

if type(estimator) == 'sklearn.grid_search.RandomizedSearchCV'是我的第一个猜测,但显然是错误的。

4

1 回答 1

5

type()函数不返回类信息,它返回一个类型对象。因此,将相等性与这样的类信息进行比较是行不通的。

您需要做的是使用isinstance(object, classinfo)来测试您的估算器的类型。

如果类型与 classinfo 匹配,则此函数返回 True,否则返回 False。

假设您创建了一个类型的估算器

sklearn.ensemble.forest.RandomForestClassifier

然后

isinstance(估计器,sklearn.ensemble.forest.RandomForestClassifier)

将返回 True,而

isinstance(估计器,sklearn.grid_search.RandomizedSearchCV)

将返回 False。

然后,您可以在 if 语句等测试中使用该结果。

记得

导入sklearn

访问您可能需要测试的所有 scikit-learn 类信息。

于 2015-09-14T23:47:36.820 回答