データセット前処理区分テストデータセット


野子電競データ公式サイトの改版https://www.xxe.io/新しい登場は,1つのデータセットで80%の記録をランダムに訓練データセットとして選択し,対応する数学モデルを訓練した後,残りの20%の記録を検証としてモデルの正確性をテストする.
既存のデータセット形式:
1::1193::5::9783007601::661::3::9783021091::914::3::9783019681::3408::4::9783002751::2355::5::9788242911::1197::3::9783022681::1287::5::9783020391::2804::5::9783007191::594::4::9783022681::919::4::978301368………
ここで[0]-[3]はそれぞれ異なる特徴処理後に得られたデータセットを表す
3418 869 4 9673988341545 1073 3 9747444902851 2572 5 9725067812068 1198 3 9746583461031 3633 4 9749991335555 1073 3 959550355587 3566 1 9759469001125 3301 2 9886979844091 1772 1 9654253562096 3114 5 9746535645888 1220 5 957480240710 93 2 975570015………
pythonコードは次のとおりです.
import random
def replaced(filename):new_content=[];readfile=open(filename)lines=readfile.readlines()for line in lines:
new_line=line.strip().replace("::","\t")
'''
contents=line.split("::")
new_line=contents[0].strip()+"\t"+contents[1].strip()+"\t"+contents[2].strip()+"\t"+contents[3].strip()
'''
new_content.append(new_line)
#print contents

print new_content
readfile.close()writefile=open(filename.strip(".csv")+"_replaced.csv",'wb')for i in range(len(new_content)):
writefile.write(new_content[i]+'
')

writefile.close()12345678910111213def choose (filename):content_test=[]content_result=[]readfile=open(filename)lines=readfile.readlines()sum_length=len(lines)count=sum_lengthprint("The numbers of items in “+filename+” is "+str(sum_length))
while count > 0:
if len(content_test)<0.8*sum_length:
    i=random.randint(0,count-1)
    content_test.append(lines[i])
    del lines[i]

count=count-1

for j in range(len(lines)):
content_result.append(lines[j])         

readfile.close()
writefile=open("content_test.csv",'wb')for i in range(len(content_test)):
writefile.write(content_test[i])

writefile.close()
writefile=open("content_result.csv",'wb')for i in range(len(content_result)):
writefile.write(content_result[i])

writefile.close() 1234567891011121314151617181920212223filename=“ratings.csv”choose(filename)
filename_01=“content_test.csv”filename_02=“content_result.csv”
replaced(filename_01)replaced(filename_02)