ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kaggle 우승작으로 배우는 머신러닝 탐구생활
    > Culture&refinement/서평 2019. 11. 8. 15:53

     

    Kaggle 우승작으로 배우는 머신러닝 탐구생활 - 정권우, BJ Public

     

    내가 머신러닝을 위한 코드를 짜지도 않을 거면서 굳이 이 책을 읽어 본 이유는

    앞으로 더 많은 개발자들의 필수 학습코스가 될 것이고, 그들이 생각하는 알고리즘이 어떻게 짜여진 것인지 알아야 나도 새로운 시야가 트일 것이라고 생각했기 때문이다.

    Kaggle 경진대회는 일종의 해커톤 같은데, 기업에서 빅데이터를 제공하고 개발자들은 데이터를 바탕으로 머신러닝 학습을 시킬 수 있는 알고리즘을 개발한다. 그리고 일련의 특징을 정확도 높게 찾아내는 대회다.

    이 과정에서 개발자는 더 신뢰도가 높은 분석결과를 내기 위해 머신러닝 학습 알고리즘을 개발해내는 아이디어를 내고, 많은 사람들의 다양한 경험을 거치고 공유되면서 더 개발될 것이다.

    이 책에서는 한 가지 문제에 대해 정답이 없기 때문에 여러 참가 팀들의 다양한 알고리즘도 함께 소개한다.

    독자로 하여금 많은 케이스를 습득하게 하고, 스스로 응용할 수 있는 백데이터가 될 수 있는 책이다.

    1. Kaggle 경진대회 문제를 푸는 과정 : 머신러닝 학습을 시키기 위한 4가지 단계다.

    - 데이터 이해

    - 평가척도 이해

    - 교차검증기법 선정 : 데이터를 훈련/검증 데이터로 분리(5:5 / 9:1) > 훈련데이터에 머신러닝 모델을 학습, 검증 데이터에서 평가척도 점수를 구함 > 앞의 내용을 10번 반복하여 검증데이터에 대한 평균점수 구함

    - 피처 엔지니어링

    2. 산탄데르 제품 추천 경진대회 - 고객이 신규로 구매할 제품 예측

    - 지난달 기준으로 고객이 보유하고 있지 않은 금융제품 중 이번 달에 신규로 구매하게 되는 제품

    - Average Prcision(예측 정확도의 평균) 

    - Tabular 형태의 시계열(Time-series) 데이터 제공됨 : A시간에 B고객이 C제품을 구매함

    - 데이터 전처리 작업 : 데이터 노이즈가 반영되어있어, 잘못 입력된 값이나 개인정보 익명화에 쓰인 변수 등이 남아있을 수 있음

    - 피처 엔지니어링 : 날짜, 시간정보가 포함된 데이터에는 주중, 주말, 공휴일, 아침, 계절, 학기, 시험기간, 방학 등 다양한 파생변수를 생성할 수 있음

    - 딥러닝 모델보다 트리기반 앙상블 모델이 효과적이었음

    - 탐색적 데이터 분석

    * .shape 함수를 통해 훈련데이터의 크기 확인 - 예) 1300만개의 고객데이터, 고객마다 48개의 변수 존재

    * .head 함수를 통해 데이터의 첫 5줄 직접 확인

    * .info()로 pandas를 통해 자동으로 정보 요약, 메모리 양 확인 가능

    * 머신러닝 모델 학습을 위해서는 훈련데이터의 데이터타입이 모두 int나 fload이어야 함

    * 데이터 변수를 보고 아이디어를 뽑아내는 것 중요 예)년도, 월 별로 데이터 추출, 나이데이터를 정수형으로 변환

    * 파이썬 라이브러리 matplotlib, seaborn으로 데이터 시각화

    - 머신러닝 모델 학습

    * 훈련데이터 안에서 훈련/검증/테스트로 분리하여 테스트 데이터의 평가 척도 계산

    - 경진대회 결과

    * 피처 엔지니어링(파생변수 이용)

    * 모델 튜닝

    * 교차검증전략 등을 활용한다.

    728x90
    반응형
Designed by Tistory.