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

the*_*ack 6 python regression model classification scikit-learn

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

Chr*_*ris 11

使用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))
Run Code Online (Sandbox Code Playgroud)

输出:

# model_name is_classifier is_regressor
LinearRegression False True
RandomForestClassifier True False
RandomForestRegressor False True
Run Code Online (Sandbox Code Playgroud)