스터디노트 5월 11일

Jenny·2024년 5월 14일

상품가입고객 예측 및 타겟팅

  1. 프로젝트 Summary
  2. 문제상황 정의
  3. Process

1. 프로젝트 Summary

  • 프로젝트 명 : 상품 가입 고객 예측 및 타겟팅
  • 프로젝트 유형 : 데이터 EDA 및 Classification 예측
  • 학습목표 :
    1) 데이터를 읽고, 전처리할 수 있는 역량 습득
    2) Classification 문제에 대한 개념 이해
    3) Classification 모델링 프로세스 및 코드 이해

2. 문제상황 정의

  • 시나리오 요약 : A은행의 정기예금 가입자가 감소하고 있고, 마케팅 비용 투자 대비 효율이 감소하고 있다. 정기예금 가입 가능성이 높은 고객군을 추출하여 타겟 마케팅을 수행하고자 한다.

3. Process

  • 데이터 살펴보기
agejobmaritaleducationdefaulthousingloancontact
나이직업결혼교육신용카드주택대출연락처
monthday_of_weekdurationcampaign
마지막 연락월마지막 연락요일통화시간캠페인 기간동안 고객 연락횟수
pdayspreviouspoutcome
이전 캠페인 연락 후 지난일현재 캠페인 전에 연락횟수이전 마케팅 결과
emp.var.ratecons.price.idxcons.conf.idxeuribor3m
고용 변동률소비자 물가 지수소비자 신뢰지수유리보 3개월 비율
nr,employedy
직원수정기예금 가입여부

Process 01 고객 프로필 조건에 따른 가입률 비교

Data 전처리하기
  • 수집된 데이터의 기본 정보들을 확인
    1) Data shape 확인
    2) Data type 확인
    3) Null 값 확인
    4) Outlier 확인

  • 현재 정기예금 가입이 어느정도 되는지 확인

df['y'].value_count()
_현재 평균 정기예금 가입률은 약 11% 정도_
Categorical 변수 파악하기
print ("numerical_list :", numerical_list)
print ("categorical_list :", categorical_list)

# catplot을 이용하여 Categorical 변수의 구성 형태 시각화
import seaborn as sns
import matplotlib.pyplot as plt
plt.style.use (['dark_background'])
sns.catplot ( x='job', hue='y', kind='count', palette='pastel', edgecolor='.6', data=df)

Process 02 Rule base 상품 가입 예측

  • 현업의 경험적인 지식에서 얻을 수 있는 노하우를 기반으로 데이터를 활용하여 검증하고 적용한다
  • 고객 프로필과 가입률 비교
df['y'] = np.where (df['y'] == 'yes', 1, 0)
df_job = df.groupby ('job')['y'].agg(['count', 'sum'])
df_job['ratio'] = round ((df_job['sum'] / df_job['count']) *100, 2)
df_job.sort_values (by=['ratio'], ascending=False)
  • 가입률을 기반으로 Seaborn을 활용하여 시각화
plt.style.use (['dark_background'])
sns.catplot (x='job', y='sign_ratio', kind='bar', palette='ch:.25', data=df_job)

for문을 활용하여 각 범주형 변수에 대하여 가입률 모두 비교

  • Rule base 가입률 : 평균 가입률인 11% 대비 높았던 조건을 OR조건으로 새로운 Rule 정의한 후 value_count

Rule에 기반한 타켓 고객군을 추출했을 때 평균 약 14%의 가입률을 보인다

Process 03 ML을 활용한 상품 가입 예측

모델 학습을 위한 데이터 정리
  • Data를 Train / Test set으로 분할하고
  • Featuer(X)와 Y 데이터를 구분한다
  • Categorical 변수는 Ont-hot-encoding 또는 Label encoding을 통해 숫자형으로 변경한다
모델 학습 및 평가
  • 학습 후 성능 평가

  • 성능을 올리기 위해 하이퍼 파라미터를 조절하고 재학습

  • Feature IMP분석을 통해 중요변수를 파악한다

이 글은 제로베이스 데이터 분석 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.

profile
I like to movie movie

0개의 댓글