我有一段Python代码,用于加载存储的机器学习模型并用新输入进行预测。
mlModel = pickle.load(open('linear_model4.pickle','rb'))request_body = request.body.decode('utf-8')parsed_request = makePredictionInput(json.loads(request_body))rb=json.loads(request_body)print(parsed_request)result = mlModel.predict(parsed_request)
它使用5个输入进行预测。
有没有办法从上面加载的模型中获取斜率和截距,以便我可以构建如下方程:
y = 截距 + 斜率1*变量1 + 斜率2*变量2 + 斜率3*变量4 + .....
回答:
我假设你的模型是一个线性模型,因为你想要重建的方程是这样的。mlModel.coef_
应该就是你想要的。请参考这里的示例。
mlModel.intercept_
是截距。
coef_
的顺序与训练数据的顺序相同。例如,如果age
是训练数据中的第三列,那么age
的系数就是mlModel.coef_
中的第三个元素。
在你的案例中,你只是在进行预测,但我假设你知道你试图预测的数据列的含义。这应该与你的训练数据中的顺序相同。