一、单个文件分割训练集、测试集和验证集
# 引入库
import pandas as pd
import os
from sklearn.utils import shuffle
# 导入csv数据
train = pd.read_csv("./Task2_kialo_popular_2_clear.csv")
# 打乱数据,按0.8:0.1:0.1的比例分割数据集
train = shuffle(train,random_state=1)
length = len(train)
print("总长度:",length)
val_num = int(length*0.1)
test_num = int(length*0.1)
train_p = train[:int(length*0.01)]
val_p = train[int(length*0.01):int(length*0.015)]
test_p = train[int(length*0.015):int(length*0.020)]
print("训练集长度:",len(train_p))
print("验证集长度:",len(val_p))
print("测试集长度:",len(test_p))
# 如果文件不存在,则生成文件
if not os.path.exists("./kialo_data1"):
os.mkdir("./kialo_data1")
# 保存文件
val_p.to_csv("./kialo_data1/dev.csv",index=None)
train_p.to_csv("./kialo_data1/train.csv",index=None)
test_p.to_csv("./kialo_data1/test.csv", index=None)
一、单个文件分割多个训练集、测试集和验证集(5折)
# 引入库
import pandas as pd
import os
from sklearn.utils import shuffle
# 读文件
train = pd.read_csv("./ceshi.csv")
test_origin = pd.read_csv("./2486_sarc_2486_nonsarc.csv")
# 打乱文件
train = shuffle(train)
length = len(train)
# 设置训练集为20% (5折即,80%训练,20%测试,有5个数据集)
test_num = int(length*0.2)
# 循环五次,获得五份训练集和对应的测试集
# 训练集 测试集
# 1-4 5
# 2-5 1
# 1,3-5 2
# 以此类推
for i in range(1,6):
test_p = train[test_num*(i-1):test_num*(i)]
if i==1:
train_p = train[test_num:]
else:
train_p = train[:test_num*(i-1)]
train_p = pd.concat([train_p, train[test_num*(i):]])
# 如果文件不存在,新建文件
if not os.path.exists("./shixiong_data"+str(i)):
os.mkdir("./shixiong_data"+str(i))
# 数据保存
test_p.to_csv("./shixiong_data"+str(i)+"/dev.csv",index=None)
train_p.to_csv("./shixiong_data"+str(i)+"/train.csv",index=None)
test_origin.to_csv("./shixiong_data" + str(i) + "/test.csv", index=None)
有用的话,点个小红心哦!
网友评论