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

语境


我将sklearn机器学习算法用于SVR回归任务。


from sklearn.svm import SVR

model = 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 predict

correct_targets = [...] # Numpy array with targets according to some data


# Get R²

print("R²:", model.score(

      some_data

    , correct_targets

))

# Store prediction

pred = model.predict(some_data)

问题


当我在上面的版本中运行代码时,模型被计算了两次——一次为.score(),一次为.predict()。

但是,我无法.score()在已保存的.predict(). 这有点讨厌,因为计算需要一些时间。


是否可以存储预测并.score()在以后应用而无需重新计算?


红糖糍粑
浏览 123回答 1
1回答

HUH函数

如果您已经有了预测值:pred = model.predict(some_data)和相应的基本事实correct_targets,无需重新运行模型即可直接获得 R^2 分数,因为 scikit-learn对此有专门的功能:from sklearn.metrics import r2_scorer2_score(correct_targets, pred)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python