전처리는 거의 다 끝났고, 이제 학습 데이터와 테스트 데이터로 나눠보도록 하겠다.

비율은 보통 자율적으로 선택하지만 보편적으로 0.7~0.75사이로 학습데이터를, 그 나머지를 테스트 데이터로 부여하게 된다.


코드는 아래와 같다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import numpy as np
import math
import csv
##train set : 3125개 , test: 1041개
= open("./20개씩묶고_컬럼별정규화.csv"'r', newline='')
rdr = csv.reader(f)
 
data = []
for j, i in enumerate(rdr):
    if(j!=0): #label 제외하고 읽어옴.
        data.append(i)
np.random.shuffle(data)
 
ratio = 0.75
count = int(math.ceil(len(data)*ratio))
print(len(data), count)
train = data[:count]
test = data[count:]
 
o1 = open("./trainset.csv"'w', newline='')
wr1 = csv.writer(o1)
for i in train:
    wr1.writerow(i)
 
o2 = open("./testset.csv"'w', newline='')
wr2 = csv.writer(o2)
for i in test:
    wr2.writerow(i)
 
f.close()
o1.close()
o2.close()
'''
cs


해당 코드를 실행시 4163개의 Train data, 3123개의 Test data로 나눠진 것을 확인할 수 있다.




+ Recent posts