본문 바로가기
IT/머신러닝

머신러닝 train_test_split scikit-learn(feat.사이킷런)

by unicorn 2022. 4. 14.
728x90
반응형

학습데이터와 테스트데이터를 쉽게 분리 할 수 있도록 scikit-learn에서 train_test_split를 제공하고 있다. 

 

Train: 모델을 학습 시키기위한 dataset

Test: 학습과 검증이완료된 모델의 성능을 평가하기위한 dataset, 학습에 관여하지 않는다. 

Validation: 이미 학습된 모델을 검증하기위한 dataset 으로 Train 의 일부이다.

 

 

train_test_split
train_test_split -scikit-learn

 

  • 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)

 

 

 

https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html?highlight=train_test_split#sklearn.model_selection.train_test_split 

 

sklearn.model_selection.train_test_split

Examples using sklearn.model_selection.train_test_split: Release Highlights for scikit-learn 0.23 Release Highlights for scikit-learn 0.23, Release Highlights for scikit-learn 0.24 Release Highligh...

scikit-learn.org

 

728x90
반응형

댓글