Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为10倍交叉验证实验创建训练/测试CSV文件_Python_R_Csv_Machine Learning_Cross Validation - Fatal编程技术网

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

Python 为10倍交叉验证实验创建训练/测试CSV文件,python,r,csv,machine-learning,cross-validation,Python,R,Csv,Machine Learning,Cross Validation,我有一个CSV文件(main.CSV),它有一个唯一的列ID,也属于我的图像名(减去它们的.jpg扩展名) 我想做10倍交叉验证,并创建一个序列和测试CSV,这样每个折叠的测试CSV将只包含原始CSV的10% 是否有一条简单的路径(已经完成)来实现这一点 基本上,我希望我最终的train和test CSV文件具有相同的精确列名,但其设计使我可以对它们执行10倍交叉验证(即随机抽样/混洗和10%选择) 我不介意在Python或R中使用pandas 我不打算使用Scikit learn进行交叉验证,

我有一个CSV文件(main.CSV),它有一个唯一的列ID,也属于我的图像名(减去它们的.jpg扩展名)

我想做10倍交叉验证,并创建一个序列和测试CSV,这样每个折叠的测试CSV将只包含原始CSV的10%

是否有一条简单的路径(已经完成)来实现这一点

基本上,我希望我最终的train和test 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\u size=0.33
此参数表示要拆分的测试数据百分比。所有其他的都是列车数据

X_train.to_csv(file_name, encoding='utf-8', index=False)
此代码将X_列车数据保存到CSV文件中,该文件为33%

y_train.to_csv(file_name, encoding='utf-8', index=False)
此代码将y_列车数据保存到CSV文件中,该文件为77%

通过这种方式,您可以每次更改代码中的
random\u state
值并保存文件,这样您就可以获得一个好的结果。这个数字没有任何意义。它随机洗牌和分割数据集。(也许,如果我们知道每个数字背后的逻辑,它将不再是随机分割!!:)


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

看看嘿,我只想获取用于训练和测试的csv文件,因为我正在使用手动K折叠方法,不想使用sklearn。你能完成你的回答来说明我如何获得列车测试csv吗?请检查我刚才在问题中添加的最后一段。谢谢你为什么选择随机状态为42?我认为应该有一个自动的方法来创建10倍交叉验证csv文件