大きなデータセットがあり、それをトレーニング (50%) とテスト セット (50%) に分割したいと考えています。
入力ファイルに 100 個の例が保存されているとします。各行には 1 つの例が含まれます。トレーニング セットとして 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が初めてで、ファイル全体を配列に読み込んで特定の行を選択できるかどうかわかりません。