如何检查sklearn模型是分类器还是回归器

时间:2019-10-01 13:21:08

标签: python scikit-learn model classification regression

是否有一种简单的方法来检查模型实例是否解决了scikit-learn库中的分类或回归任务?

2 个答案:

答案 0 :(得分:4)

使用sklearn.base.is_classifier和/或is_regressor

from sklearn.base import is_classifier, is_regressor
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor
from sklearn.ensemble import RandomForestClassifier

models = [LinearRegression(), RandomForestClassifier(), RandomForestRegressor()]

for m in models:
    print(m.__class__.__name__, is_classifier(m), is_regressor(m))

输出:

# model_name is_classifier is_regressor
LinearRegression False True
RandomForestClassifier True False
RandomForestRegressor False True

答案 1 :(得分:1)

我猜您问这个是因为您有一个序列化的模型,其类型未知。打开文件并执行

mlType = type(variable_name)

其中variable_name是反序列化模型的句柄。

输出例如

class 'sklearn.linear_model.base.LinearRegression'