У меня есть большой набор данных и вы хотите разделить его на обучение (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 и не знаю, могу ли я прочитать весь файл в массиве и выбрать определенные строки.