我正在寻找一个可视化的我的交叉验证数据,在其中,我可以可视化预测发生在交叉验证过程。我正在使用scikit学习的cross_validate来获得我的贝叶斯岭模型的结果(scikit学习BayesianRidge),但是我不确定我使用cross_val_predict的情节是否表达了相同的预测?我的计划是一对一的预测标签,发生在交叉验证与观察到的标签,模型的训练。我在cross_validate和cross_val_predict中都使用相同的折叠数。
基本上,我只想知道我用cross_val_predict制作的情节是否可以用cross_validate返回的性能指标来描述?
谢谢你的帮助
发布于 2022-11-16 22:52:22
不,所用的褶皱(几乎可以肯定)是不同的。
通过定义CV Splitter对象并将其作为cv参数传递给两个交叉验证函数,您可以强制执行相同的折叠:
cv = KFold(5, random_state=42)
cross_validate(model, X, y, cv=cv, ...)
cross_val_predict(model, X, y, cv=cv, ...)也就是说,通过这样做,你可以对每个折叠的模型进行两次拟合和预测。您可以在return_estimator=True中使用cross_validate检索每个折叠的拟合模型,或者使用cross_val_predict的预测来手动生成分数。(不管是哪种方式,您都需要使用拆分器对象来分割到正确的折叠,这可能有点挑剔。)
https://datascience.stackexchange.com/questions/116235
复制相似问题