haje01 노트

온라인 게임을 위한 피처 유니버스 만들기

목차

피처 유니버스란?
수작업 피처
라이프 피처
기간 피처
합성 피처
유저 합성 피처
코호트 합성 피처
피처 유니버스의 사용
[ ml  idea  draft  ]

온라인 게임을 위한 피처 유니버스 만들기

다양한 기계학습 모델에서 피처는 핵심적인 역할을 한다. 이 글에서는 온라인 게임 서비스를 예로 하여 다양한 측면의 피처를 소개하고, 이를 이용해 종합적인 피처 셋을 구성하는 것을 살펴본다. 게임 외에도 다양한 서비스에 응용이 가능할 것으로 생각한다.

여기에서 소개하는 방법은 유저 군집 분류, 어뷰저 검출, 이탈 예측, 광고 최적화 등 다양한 모델을 염두에 둔 범용 피처 구성을 목표로 한다.

피처 유니버스란?

피처는 소스 데이터의 범위나 생성 방식에 따라 다양한 분류가 가능하다. 이 글에서는 주요 분류에 따라 피처들을 설명하고 이것을 통합하여 종합적인 피처 집합을 구성하는 것을 설명하는데, 이 집합을 피처 유니버스 (Universe) 로 부른다.

피처 유니버스는 크게 작업의 주체에 따라 수작업 피처와 합성 피처로 나뉜다.

수작업 피처

수작업 피처는 분석가나 데이터 엔지니어가 EDA나 기존 경험 등을 통해 만들어 내는 피처를 말한다. 수작업 피처는 크게 라이프 피처와 기간 피처로 나뉜다.

라이프 피처

유저의 서비스 가입 이후 존속 기간 (Life) 동안 발생한 특징. 이 피처들은 전체 로그나 별도 DB를 참고해 얻어 낸다.

예:

기간 피처

하루 또는 특정 기간 동안의 로그에서 얻을 수 있는 유저별 피처들. 기간 피처는 주로 일/주/월 단위로 나뉘고, 기간 동안의 로그 데이터에서 얻는다. 단위 기간 피처가 연속되면 시계열 데이터를 구성하게 된다.

예:

합성 피처

합성 피처 (Synthesized Feature)는 하나 이상의 수작업 또는 합성 피처를 이용해 자동으로 합성된 피처다. 최대한 많은 피처를 합성하여, 간과할 수 있는 중요 특성을 찾는 것을 목표로 한다. 예전에 소개한 Featuretools 의 심층 피처 합성 방식을 이용하면 손쉽게 다양한 합성피처를 생성할 수 있다.

합성 피처는 크게 유저 합성 피처와 코호트 합성 피처가 있다.

유저 합성 피처

각 유저별 또는 전체 유저에 대한 피처를 합성한다.

예:

코호트 합성 피처

유저의 가입 시점/IP/경로 등의 기준으로 코호트 (집단) 를 구성하고, 이 코호트 중심으로 피처를 합성한 것. 코호트의 기준을 Featuretool 에 알리고 합성을 시도한다.

코호트의 기준은 다음과 같은 것들이 있다.

코호트 피처의 예:

피처 유니버스의 사용

수작업에 합성된 것까지 포함하면 굉장히 많은 피처의 유니버스가 구성될 것이다. 원활한 활용을 위해 다음과 같은 내용을 고려하자.