1. 데이터 전처리

1. 1. 구조화/정리

1. 1. 1. CSV 읽기 (✅)

train_featurestrain_labels 를 합해 단일 소스로부터 학습을 진행하도록 함 (artifact/train_table.csv )

→ 학습 과정을 용이하게 한다

1. 1. 2. GroupKFold로 fold 컬럼 만들기 (✅)

test 데이터는 train 데이터와 완전히 분리된 site 정보를 가지고 있기 때문에 만약 일반 K-Fold ㅊCross Validation을 진행하게 된다면 train과정과 valid 과정에서 동일한 site 정보를 공유할 수 있다는 위험성이 있다.

→ 따라서 우선 site 별로 조각 (fold)을 낸 뒤에 site 별로 순환하며 validation을 진행한다

<aside> ❓

Validation vs. Cross Validation

1) 일반 validation(hold-out)

장점

단점

2) K-fold cross validation

장점

단점

<aside> ❓

loc vs iloc

1. 2. 입력 전처리 (✅)

모델에 넣기 좋은 픽셀 형태로 만드는 작업

<aside> ❓

이미지를 규격화할때 최적의 image size는 무엇인가

결론은 “데이터와 분석 목적에 따라 다르다”

top15_resolutions_dist.png

image.png

따라서 이상적으로는 16:9 사이즈로 모두 규격화한뒤에 진행하는게 맞지만 우선 빠르게 베이스라인을 만들기 위해 코드를 단순화해야하고, 그러기 위해서는 1:1 비율의 직사각형이 맞다고 판단함

그렇기 때문에 최소 크기에 맞춰 120~160 사이의 크기로 resize하는게 필요했고,

HOG의 경우 아래와 같이 데이터 처리를 시작하기 때문에

이때 입력 크기가 8이나 16의 배수면 격자가 깔끔하게 떨어진다.

128은

</aside>

<aside> ❓

Grayscale 기반 전처리 (H, W) vs. RGB 기반 전처리 (H, W, 3)

1) 흑백(grayscale)이 유리한 경우

2) 컬러(RGB)가 유리한 경우

이번 프로젝트에서는 주야 사진이 섞여있기 때문에 grayscale로 처리할 예정

</aside>

1. 3. 특징 전처리 (✅)

1. 3. 1. (Histogram of Oriented Gradients, HOG)란

https://velog.io/@hsbc/Histograms-of-Oriented-Gradients-HOG