gpt4 book ai didi

python - scikit-learn 中用于交叉验证的自定义折叠

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:15 25 4
gpt4 key购买 nike

我想将 GridSearchCV(n_jobs > 1)用于特定分类器,但我从另一个来源获得了关于 10 折交叉验证的折叠信息。有什么方法可以输入已经分成折叠的数据,而不是使用 GridSearchCV 创建的折叠。

谢谢!

最佳答案

您可以创建自定义 CV 迭代器,例如从 LeaveOneGroupOut 上获得灵感或 LeaveOneGroupOut实现您感兴趣的结构。

或者,您可以准备自己的预计算折叠,编码为整数数组(表示 0n_samples - 1 之间的样本索引),然后将该 CV 迭代器作为cross_val_scoreGridSearchCV 实用程序的 cv 参数:

>>> X, y = make_classification(n_samples=10)
>>> import numpy as np
>>> from sklearn.datasets import make_classification
>>> from sklearn.linear_model import LogisticRegression
>>> from sklearn.model_selection import cross_val_score
>>> cv_splits = [
... (np.array([0, 1, 2, 3]), np.array([4, 5, 6])),
... (np.array([1, 2, 3, 4]), np.array([5, 6, 7])),
... (np.array([5, 6, 8, 9]), np.array([1, 2, 3, 4])),
... ]
>>> cross_val_score(LogisticRegression(), X, y, cv=cv_splits)
array([1. , 0.33333333, 0.75 ])

关于python - scikit-learn 中用于交叉验证的自定义折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com