我有一个大的数据集,想把它分成训练集(50%)和测试集(50%)。
假设我有100个示例存储在输入文件中,每行包含一个示例。我需要选择50行作为训练集和50行测试集。
我的想法是首先生成一个长度为100的随机列表(值范围从1到100),然后使用前50个元素作为50个训练示例的行号。测试集也一样。
这在Matlab中很容易实现
fid=fopen(datafile);
C = textscan(fid, '%s','delimiter', '\n');
plist=randperm(100);
for i=1:50
trainstring = C{plist(i)};
fprintf(train_file,trainstring);
end
for i=51:100
teststring = C{plist(i)};
fprintf(test_file,teststring);
end
但是我怎样才能用Python完成这个功能呢?我是Python新手,不知道是否可以将整个文件读入数组,并选择某些行。
在Python中,这可以类似地使用列表来实现(注意,整个列表都在适当的位置进行了洗牌)。
你也可以用numpy。当数据存储在numpy.ndarray中时:
相关问题 更多 >
编程相关推荐