为 10 折交叉验证实验创建训练/测试 CSV 文件



我有一个CSV文件(main.csv(,该文件具有唯一的列ID,该列ID也与我的图像名称有关(减去其.jpg扩展名(。

我想进行 10 折交叉验证并创建一个训练并测试 CSV,以便每个折叠的测试 CSV 仅包含原始 CSV 的 10%。

有没有一条简单的途径(已经完成(来做到这一点?

基本上,我希望我的最终训练和测试 CSV 文件具有完全相同的列名,但设计为我可以对它们执行 10 倍交叉验证(即随机采样/随机播放和 10% 选择(。

我不介意在Python或R中使用pandas。

我不打算使用Scikit-learn进行交叉验证,因为我使用的是自己的手动代码,这就是为什么我需要切碎的火车并为每个折叠测试CSV。

也许,您可能正在寻找以下内容:

from sklearn.model_selection import train_test_split
#X contains the dependent columns from the CSV file, and Y is the predicted variable
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

test_size=0.33 此参数表示要拆分的测试数据的百分比。所有其他数据都是训练数据。

X_train.to_csv(file_name, encoding='utf-8', index=False)

此代码会将X_train数据保存到 CSV 文件中,该文件为 33%

y_train.to_csv(file_name, encoding='utf-8', index=False)

此代码会将y_train数据保存到 CSV 文件,该文件为 77%

这样,您每次都可以更改代码中的random_state值并保存文件,这样您就可以获得良好的支持。这个数字并不代表什么。它随机洗牌和拆分数据集。(也许,如果我们知道每个数字背后的逻辑,它就不会再是随机拆分了!! :)(

在此之后,您可以应用手动K折叠。

最新更新