文件上分离的数据集的交叉验证

2024-06-16 09:47:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我所拥有的数据集在不同的文件上分开,这些文件分组在相互认识的样本上,即它们是在相似的时间在相似的条件下创建的。 列车试验数据集的平衡非常重要,因此样本必须在列车上或试验中,但不能分离。所以KFold在我的scikit学习代码上使用并不简单。在

现在,我用的是类似厕所的东西,比如:

train ~> cat ./dataset/!(1.txt)
test ~> cat ./dataset/1.txt

这是不舒适的,也不太有用,如果我想在几个文件的测试折叠,并作出一个“真正的”简历。 怎样才能写出一份好的简历来检查真正的过度拟合呢?在


Tags: 文件数据代码testtxt时间trainscikit
1条回答
网友
1楼 · 发布于 2024-06-16 09:47:54

看看this answer,我意识到pandas可以连接数据帧。我检查了这个过程比cat命令行慢了15-20%,但是可以像我预期的那样进行折叠。在

不管怎样,我很确定应该有比这更好的方法:

import glob
import numpy as np
import pandas as pd
from sklearn.cross_validation import KFold

allFiles = glob.glob("./dataset/*.txt")
kf = KFold(len(allFiles), n_folds=3, shuffle=True)

for train_files, cv_files in kf:
    dataTrain = pd.concat((pd.read_csv(allFiles[idTrain], header=None) for idTrain in train_files))
    dataTest = pd.concat((pd.read_csv(allFiles[idTest], header=None) for idTest in cv_files))

相关问题 更多 >