[英]How to check if sklearn model is classifier or regressor
Is there a simple way to check if a model instance solves a classification or regression task in the scikit-learn library?有没有一种简单的方法来检查 model 实例是否解决了 scikit-learn 库中的分类或回归任务?
I guess you ask this because you have a serialized model whose type you do not know.我猜你问这个是因为你有一个序列化的 model,你不知道它的类型。 Open the file and do打开文件并执行
mlType = type(variable_name)
where variable_name is the handle of your de-serialized model.其中 variable_name 是您的反序列化 model 的句柄。
output eg output 例如
class 'sklearn.linear_model.base.LinearRegression'
Use sklearn.base.is_classifier
and/or is_regressor
:使用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))
Output: Output:
# model_name is_classifier is_regressor
LinearRegression False True
RandomForestClassifier True False
RandomForestRegressor False True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.