首页 > 解决方案 > Python --- 在第 r 个测试文件中写入该行 / 写入除第 r 个之外的所有训练文件

问题描述

这就是问题所在:编写一个脚本,读取一个数据集和一个数字 k,然后将数据集随机分成 k 个相等的折叠。然后它输出 k 个不同的训练和测试文件。k 个分割中的每一个都将使用 k 个折叠中的一个作为测试集,其余的作为训练集。将输出文件命名为:train_1.txt、train_2.txt ... train_k.txt

#!/bin/python
import random

k = int(input("Enter k: "))

f = open("colon-cancer.txt","r")

for i in range(k):
        i_str = str(i+1)
        file_name_train = 'train_' + i_str + '.txt'
        file_name_test = 'test_' + i_str + '.txt'

        f1 = open(file_name_train, 'w')
        f2 = open(file_name_test, 'w')
        f1.close()
        f2.close()

for line in f:
        r = random.randint(1,k)                                                                                                                        

我不知道如何创建一个 for 循环将行写入第 r 个文件,或者如何写入除 r 个文件之外的所有文件。有谁知道如何解决它?

标签: python

解决方案


推荐阅读