반응형
https://steadiness-193.tistory.com/253
위 포스팅에서는 sample 메서드를 이용해서 나누어봤으나
좀 더 정밀하게 나눌 수 있는
sklearn 패키지의 train_test_split 을 이용해보자.
데이터 출처
데이터 불러오기
train 데이터는 train과 valid로 나눌 것이기 때문에 data로 불러오고
test는 X_test로 정의한다.
컬럼 전처리
복잡한 이름 대신 Title만 남기고 분석에 잡음이 될 수 있는 컬럼은 삭제해준다.
Survived 컬럼은 이미 label로 정의했으니 문제 없다.
숫자형 / 범주형 컬럼 빼두기
결측치 확인
Age 컬럼의 결측치가 많고 Fare, Embarked 컬럼에는 적게 있다.
[train_test_split]
train과 test로 나누는 것이지만 사실상 train과 valid로 나누는 것이라 보면 된다.
[주요 파라미터]
- train_size(test_size) :
train(valid)의 비율 지정, 주로 7:3 또는 8:2 / 0.0 ~ 1.0 사이의 값
- random_state : 난수 지정
- shuffle : 데이터를 쪼갤 때 랜덤하게 섞음(True/False)
- stratify : 쪼개기 이전 클래스의 비율을 쪼개고 나서도 유지
label컬럼(배열)을 인풋
* stratify는 분류에서만 가능
순서는 X_train, X_valid, y_train, y_valid
X_train의 정답은 y_train
X_valid의 정답은 y_valid
data와 label을 넣어준다.
train과 valid를 7:3으로 랜덤하게 셔플링해서 나누어주었다.
추후 원핫인코딩 등 처리의 효율을 위해 인덱스는 리셋해준다.
반응형
'Machine Learning > 전처리(Preprocessing)' 카테고리의 다른 글
Machine Learning - valid와 test를 train으로 전처리 (0) | 2020.09.08 |
---|---|
Machine Learning - 랜덤으로 train과 test로 나누기 (0) | 2020.09.04 |
Machine Learning - PCA (Principal Component Analysis, 주성분 분석) (0) | 2020.08.31 |
Machine Learning - One-Hot Encoding (원핫 인코딩) (0) | 2020.08.26 |
Machine Learning - Label Encoding (라벨 인코딩) (0) | 2020.08.26 |