为了账号安全,请及时绑定邮箱和手机立即绑定

在 sklearn 中的 predict() 之后使用 score() 而无需重新计算

在 sklearn 中的 predict() 之后使用 score() 而无需重新计算

红糖糍粑 2023-06-20 10:26:40
语境我将sklearn机器学习算法用于SVR回归任务。from sklearn.svm import SVRmodel = SVR(kernel='poly', degree=2, epsilon=.5)model.fit(      features # Numpy array with features    , target   # Numpy array with the target)之后,我使用 -function 返回回归分数.score()。此外,我需要用于进一步处理的预测结果.predict()。some_data = [...] # Numpy array with some data to predictcorrect_targets = [...] # Numpy array with targets according to some data# Get R²print("R²:", model.score(      some_data    , correct_targets))# Store predictionpred = model.predict(some_data)问题当我在上面的版本中运行代码时,模型被计算了两次——一次为.score(),一次为.predict()。但是,我无法.score()在已保存的.predict(). 这有点讨厌,因为计算需要一些时间。是否可以存储预测并.score()在以后应用而无需重新计算?
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

如果您已经有了预测值:


pred = model.predict(some_data)

和相应的基本事实correct_targets,无需重新运行模型即可直接获得 R^2 分数,因为 scikit-learn对此有专门的功能:

from sklearn.metrics import r2_score


r2_score(correct_targets, pred)


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信