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



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

使用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

我想你问这个是因为你有一个你不知道其类型的序列化模型。打开文件并执行

mlType = type(variable_name)

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

输出,例如

class 'sklearn.linear_model.base.LinearRegression'

最新更新