IT/머신러닝
머신러닝 train_test_split scikit-learn(feat.사이킷런)
unicorn
2022. 4. 14. 23:19
728x90
반응형
학습데이터와 테스트데이터를 쉽게 분리 할 수 있도록 scikit-learn에서 train_test_split를 제공하고 있다.
Train: 모델을 학습 시키기위한 dataset
Test: 학습과 검증이완료된 모델의 성능을 평가하기위한 dataset, 학습에 관여하지 않는다.
Validation: 이미 학습된 모델을 검증하기위한 dataset 으로 Train 의 일부이다.
- X_train, X_test, y_train,y_test = train_test_split(’피쳐데이터세트’, ‘레이블데이터세트’, test_size=’전체데이터세트중테스트데이터비율’, random_state=’호출할때마다 같은 학습//테스트용 데이트 세트를 생성하기위해 주어지는 난수 발생값 ’)
- train_test_split 는 무작위로 데이터 분리 하므로 random_state를 지정하지 않으면 수행할때마다 다른 학습 / 테스트용 데이터를 만들수 있다. 따라서 동일 데이터세트로 분리하기위해 random_state 를 일정 숫자값으로 부여, 숫자값은 어떤값으로 시정해도 상관없음 )
- X_train: 학습용 피처 데이터 세트
- X_test: 테스트용 피처 데이터 세트
- y_train: 학습용 레이블 데이터 세트
- y_test: 테스트용 레이블 데이터 세트
- test-size : 디폴트 (0.25)
- shuffle : 데이터를 분리하기저에 미리 섞을지 결정, 디폴트 true
- X_train, X_test, y_train,y_test = train_test_split(iris_data, iris_label, test_size=0.2, random_state=11)
- fit() 메서드를 학습용 피처 데이터속성과 결정값 데이터 세트를 입력 해서 호출 하면 학습 수행
- fit(X_train, y_train)
- predict() 에 테스트 용 피처 데이터 세트를 입력해서 호출 하면 학습된 모델 데이터 기반테스트 데이터 세트에 대한 예측값 반환
- pred = predict(X_test)
- 머신러닝모델의 성능 평가 방법 - 정확도 측정(정확도 : 실제레이블값과 예측결과가 얼마나 정확하게 맞는지 평가하는 지표)
- 사이킷 런에서 accuracy_ score() 함수를 제공
- accuracy_ score(실제레이블 데이터세트, 예측 레이블 데이터세트)
- accuracy_ score(y_test, pred)
728x90
반응형