有没有一种简单的方法来检查模型实例是否解决了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'