이 영역을 누르면 첫 페이지로 이동
컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

페이지 맨 위로 올라가기

컴퓨터와 수학, 몽상 조금

컴퓨터공학, 딥러닝, 수학 등을 다룹니다.

14. 교차 검증 (Cross Validation)

  • 2020.12.16 21:55
  • 학부 수업/머신러닝

사이킷런 파이프라인

사이킷런의 pipeline 클래스는 연속된 변환을 순차적으로 처리할 수 있는 기능을 제공하는 유용한 래퍼 도구이다. 전처리와 모델 등을 설정하고, 학습 데이터와 테스트 데이터를 넣어 편리하게 성능을 측정할 수 있다.

pipe_lr = make_pipeline(StandardScaler(),
                        PCA(n_components=2),
                        LogisticRegression(solver='liblinear', random_state=1))

pipe_lr.fit(x_train, y_train)
y_pred = pipe_lr.predict(x_test)
print('테스트 정확도: %.3f' % pipe_lr.score(x_test, y_test))

교차 검증

교차 검증이란, 머신러닝 모델의 성능을 검증하기 위한 방법이다.

  • 홀드아웃 교차 검증
    • 전체 데이터를 학습 데이터와 테스트 데이터, 검증 데이터로 나눈다.
    • 학습 데이터는 모델 학습에, 테스트 데이터는 성능 추정을 위해 사용
    • 검증 데이터는 선택적으로 만들어, 하이퍼파라미터 튜닝에 사용한다.
    • 데이터를 분할하는 방법에 따라, 다른 결과가 나올 수 있음
  • K-폴드 교차 검증
    • 중복없이 훈련 데이터를 K겹으로 랜덤하게 나눈다.
      • K-1겹으로 모델을 훈련하고, 나머지 하나로 성능을 평가한다.
      • 즉, K번 학습을 진행하여 K개의 서로 다른 모델을 얻는다.
    • K개의 모델의 성능을 기반으로 평균 성능을 계산함
    • 홀드아웃 방법보다 데이터 분할에 덜 예민한 성능 평가가 가능하다.
    • 추천되는 K값은 10임

모델 성능 최적화

과적합 문제

모델이 학습 데이터에서 아주 높은 성능을 보이지만, 테스트 데이터를 비롯한 일반적인 데이터에서 성능이 떨어지는 현상을 과대적합 / 오버피팅이라 한다.

과대적합을 해결하기 위해선 학습 데이터를 추가 수집하거나, 모델 제약을 늘리고 학습 데이터의 잡음을 줄이는 방법을 이용한다.

반면 모델이 너무 단순하여 데이터에 내재된 구조를 학습하지 못하는 현상을 과소적합 / 언더피팅이라 한다.

과소적합을 해결하려면 더 큰 모델을 선택하거나, 모델 제약을 줄이고, 과대적합 이전까지 충분히 학습하는 방법을 이용한다.

 

'학부 수업 > 머신러닝' 카테고리의 다른 글

15. 앙상블 (Ensemble)  (3) 2020.12.16
13. 주성분 분석 (Principal Component Analysis: PCA)  (0) 2020.12.16
12. 차원 축소 (Dimension Reduction)  (0) 2020.12.16
11. 군집화 (Clustering)  (0) 2020.12.15
10. 비선형 서포트 벡터 머신 (Non-linear SVM)  (0) 2020.11.25

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 15. 앙상블 (Ensemble)

    15. 앙상블 (Ensemble)

    2020.12.16
  • 13. 주성분 분석 (Principal Component Analysis: PCA)

    13. 주성분 분석 (Principal Component Analysis: PCA)

    2020.12.16
  • 12. 차원 축소 (Dimension Reduction)

    12. 차원 축소 (Dimension Reduction)

    2020.12.16
  • 11. 군집화 (Clustering)

    11. 군집화 (Clustering)

    2020.12.15
다른 글 더 둘러보기

정보

컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

  • 컴퓨터와 수학, 몽상 조금의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (283)
    • Tech Trend (3)
    • Deep Learning (77)
      • 공부 노트 (21)
      • 논문 리뷰 (44)
      • 논문 스키밍 (1)
      • 영상처리 (11)
    • Engineering (3)
      • Tips (2)
      • Experiences (1)
    • Blog (49)
      • 회고 & 계획 (20)
      • 내 이야기 (9)
      • 리뷰 (4)
      • 군대에 간 공돌이 (10)
      • ML엔지니어 취업 도전기 (1)
      • 여행 (4)
    • 학부 수업 (141)
      • 머신러닝 (16)
      • C프로그래밍 (8)
      • 자료구조 (11)
      • 알고리즘 (17)
      • 디지털시스템 (25)
      • 컴퓨터구조 (11)
      • 확률과 통계 (21)
      • 선형대수학 (14)
      • 이산수학 (18)
      • 데이터시각화 (0)
    • 강의 (9)
      • 딥러닝 기초 (7)
      • Python (2)

공지사항

인기 글

정보

백지오의 컴퓨터와 수학, 몽상 조금

컴퓨터와 수학, 몽상 조금

백지오

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • profile
  • github
  • linkedin

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / AXZ. © 백지오. Designed by Fraccino.

티스토리툴바