데이터 과학자가 뽑은 "머신러닝 알고리즘 개발 베스트 프랙티스 3탄"

0

현존 최고의 데이터 과학자들이 뽑은 머신러닝 알고리즘 개발 베스트 프랙티스! 그 대망의 마지막 시간입니다. 이전 블로그를 통해 다양한 유형의 모델을 결합하는 방법을 소개해드렸다면, 오늘은 다양한 유형의 데이터를 결합하고, 모델의 다양한 변수를 활용하는 방법에 대해 이야기하고자 합니다. 이전 시리즈를 놓치셨나요? 블로그 1탄, 블로그 2탄을 참고해주세요.

  1. 기본기 다지기
  2. 희귀한 이벤트 탐지하기
  3. 수많은 모델 결합하기
  4. 모델 적용하기
  5. 국소 최적해에 빠지는 것을 방지하기 위해 모델 오토튜닝하기
  6. 시간 효과(temporal effect) 관리하기
  7. '일반화' 이해하기
  8. 학습용 데이터에 피쳐(feature) 추가하기
    • 학습용 데이터 세트 구축
    • 모델에 ‘고객의 소리’ 불어넣기
    • 모델에 ‘구매 데이터’ 불어넣기

Chapter 8-1. 학습용 데이터 세트 구축

학습용 데이터 세트가 반응을 분류하거나 예측하기 위해서는 몇몇 예측 변수의 표본이 필요합니다. 머신러닝 분야에서 예측 변수는 피쳐(feature)라고 반응은 레이블(lable)이라고 부르는데요. 일반적으로 데이터 과학자의 학습용 데이터 세트 구축 작업은 전체 모델링 작업의 85%를 차지합니다. 데이터 과학자들은 트랜잭션 데이터(transactional data)를 평균 잔액, 지출 금액 등과 같은 피쳐로 병합하고, 이 피쳐를 다시 인구 통계, 지리 공간 데이터, 소셜 미디어와 같은 오버레이 데이터(overlay data)와 결합해 학습용 데이터 세트를 구축합니다.

필자는 쉽게 이용 가능한 많은 피쳐를 이용하여 학습 데이터에 생기를 불어 넣고자 합니다. 많은 피처를 가진 학습용 데이터 세트를 이용하면 더 적합한 모델을 얻을 수 있습니다.

Chapter 8-2. 모델에 ‘고객의 소리’ 불어넣기

본문학습용 데이터가 가능한 한 많은 피쳐를 갖출수록 더욱 적합한 모델을 만들 수 있습니다. 그 한 가지 방법은 바로 모델에 고객 피드백 데이터를 포함시키는 것인데요! 고객의 소리나 행동은 예측 가능하기 때문에 모델이 고객의 소리에 귀 기울일 수 있도록 하는 것이 중요합니다.

예를 들어, 서비스 비용에 대해 불평하는 고객 그룹이 있다면 이 정보를 고객 이탈 모형에에 반영할 수 있는데요. 설문 조사와 고객 응대와 같은 텍스트 데이터를 학습용 데이터 피쳐 공간에 통합함으로써 가능합니다. 우선 텍스트 분석을 이용하여 텍스트를 파싱해서 ‘term by document’ 빈도 테이블로 전환하십시요. 이제 텍스트 데이터는 숫자 형태로 표시되었습니다. 그 다음 절차는 특이값 차원(singular value dimensions)을 만들어 귀하 모델에 후보 피쳐(candidate features)으로 사용할 수 있습니다.

Chapter 8-3. 모델에 ‘구매 데이터’ 불어넣기

또 다른 예시는 모델에 구매 내역 데이터(purchase history data)를 반영하는 것입니다. 고객의 구매 내역은 구매 성향 또는 상품 추천 모델을 구축할 때 매우 중요한 실마리가 될 수 있습니다.

필자는 구매 트랜잭션 데이터를 이용하여 장바구니 규칙(market basket rules) 계산을 선호합니다. 구체적인 예를 들어볼까요? XBOX를 구입한 고객이 닌텐도 스위치(Nintendo Switch)를 구매할 가능성은 80%입니다. 이때 상위 100개 규칙을 출력하고, 이것이 학습용 세트에서 이분항 피쳐로 사용할 수 있도록 피벗(pivot)을 실행합니다. 그리고 이것을 특이값 분해(singular value decomposition)를 포함한 나머지 피쳐로 다시 결합하면, 여러 후보 피쳐(candidate features)를 갖는 꽤 다양한 학습용 데이터 세트를 구축할 수 있습니다.

Table 1. 이분항 예측변수로서 피벗한 연관규칙

머신러닝 분야에서는 자주 ‘보이는 것은 곧 믿는 것’입니다. 또 컨벌루션 네트워크(convolutional networks)를 사용해 귀하의 모델에 이미지를 피쳐로서 반영할 수 있습니다. 필자는 이 전체 과정을 통합 머신러닝(integrated machine learning)이라고 부릅니다. 고품질과 저품질의 소스를 계속해서 추가함으로써 궁극적으로 고품질의 머신러닝 학습 모델을 구축할 수 있습니다.

 

그 동안 <머신러닝 알고리즘 개발 베스트 프랙티스> 시리즈와 함께해 주셔서 감사합니다. 머신러닝 기술이 선물한 기회와 도전과제에 대해서는 백서 ‘분석의 진화(The Evolution of Analytics)’를 통해 더욱 자세하게 확인하실 수 있습니다.

다음 블로그를 통해서는 음성이나 이미지 인식에 사용될 때 사람만큼 또는 심지어 사람보다 더 나은 성능을 보이는 ‘딥러닝(deep learning)’에 대해 소개해드리고자 합니다. 많은 기대 부탁드립니다.


해당 기사는 Wayne Thompson 기사를 일부 편집한 내용입니다.
Share

About Author

SAS Korea

Related Posts

Leave A Reply

Back to Top