我需要检查对象是否来自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
库。
答案 0 :(得分:0)
如果您使用:
from sklearn.linear_model import LinearRegression
from sklearn.cluster import FeatureAgglomeration
sklearn
对象不会被导入,只有LinearRegression
和FeatureAgglomeration
被导入,因此您必须使用以下命令:
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)):