检查对象是否是库的实例

时间:2018-11-13 06:56:22

标签: python scikit-learn

我需要检查对象是否来自sklearn库。基本上,我需要检查模型是否属于特定库,以便可以基于其类型创建常规模式。

我需要检查是否收到了属于model库的sklearn对象。

例如

if isinstance(model, sklearn):
    #do something

我想避免尝试深入检查特定模型的类型。

例如,

from sklearn.linear_model import LinearRegression
from sklearn.cluster import FeatureAgglomeration
if isinstance(model, sklearn.linear_model.LinearRegression):
   #to something 

if isinstance(model, sklearn.cluster.FeatureAgglomeration):
   #to something

以上是可接受的模型。但是,sklearn的模型太多,并且在不断变化。我只想检查它是否来自sklearn库。

2 个答案:

答案 0 :(得分:0)

如果您使用:

from sklearn.linear_model import LinearRegression
from sklearn.cluster import FeatureAgglomeration

sklearn对象不会被导入,只有LinearRegressionFeatureAgglomeration被导入,因此您必须使用以下命令:

if isinstance(model, LinearRegression):
   #to something 

if isinstance(model, FeatureAgglomeration):
   #to something

或导入sklearn对象

import sklearn
if isinstance(model, sklearn.linear_model.LinearRegression):
   #to something 

if isinstance(model, sklearn.cluster.FeatureAgglomeration):
   #to something

答案 1 :(得分:0)

不理想,但您可以使用:

if "sklearn" in str(type(model)):