检查对象是否是一组类(statsmodel 或 sklearn)的实例

问题描述 投票:0回答:1

我有一个物体,它是其中之一

  • statsmodels.genmod.generalized_linear_model.GLMResultsWrapper
  • statsmodels.regression.linear_model.RegressionResultsWrapper
  • statsmodels.base.elastic_net.RegularizedResultsWrapper

  • sklearn.ensemble._gb.GradientBoostingClassifier
  • sklearn.ensemble._forest.RandomForestClassifier

我正在尝试使用

isinstance()
来喜欢下面的内容:

if isinstance(my_obj, statsmodel_type_class):
   do sth
elif isinstance(my_obj, sklearn_type_class):
   do sth

我可以硬编码

statsmodel_type_class
sklearn_type_class
。但这两种类型的类都有“基础”类吗?

python class scikit-learn instance statsmodels
1个回答
0
投票
从您所问的意义上来说,

statsmodels
sklearn
类不是彼此的子类,所以不是。如果您想根据每种类型执行不同的操作,则 if 语句是一个不错的首选。如果您想对两个实例执行相同的操作,可以使用元组简化代码:

if isinstance(my_obj, (statsmodel_type_class, sklearn_type_class)):
   do sth

按照文档中的建议。

© www.soinside.com 2019 - 2024. All rights reserved.