Allen's 데이터 맛집

[머신러닝] 분류 : 백화점 고객 데이터로 고객의 성별 예측하기 본문

Project/Kaggle 분석&기계학습

[머신러닝] 분류 : 백화점 고객 데이터로 고객의 성별 예측하기

Allen93 2023. 9. 9. 20:56

이번 포스팅에서는 빅데이터 분석기사의 실제 분류 문제를 가지고 데이터 분석 및 예측을 진행해 보겠습니다.

 

문제

고객 3,500명에 대한 학습용 데이터(y_train.csv, X_train.csv)를 이용하여 성별예측 모형을 만든 후, 이를 평가용 데이터(X_test.csv)에 적용하여 얻은 2,482명 고객의 성별 예측값(남자일 확률)을 다음과 같은 형식의 csv 파일로 생성하시오.

(제출한 모델의 성능은 ROC-AUC 평가지표에 따라 채점)

 

고객 성별 예측 분석

 


 

 

데이터 가져오기

 

데이터를 받아오고 각종 세팅을 한 다음 X, Y, X_submission 변수에 각 train, test csv 데이터들을 담습니다.

 

데이터 전처리

X데이터를 결합하고 info()를 통해 데이터 타입을 확인하고, 추가로 결측치까지 확인합니다.

 

'환불금액' 결측치를 평균으로 채웁니다. 상관계수와 남녀성별 비율을 확인합니다.

 

범주별 평균차이를 검증하고 성별별 방문 횟수 등을 확인합니다

 

마지막 전처리 작업으로 각종 중복값들을 제거하고 범주형 변수에 대해서 label encoding을 실행합니다.

마지막으로 결측치와 데이터 타입을 확인합니다.

 

데이터 분리, 모델 생성 및 학습

 

필요한 라이브러리들을 import하고 모델 생성과 학습을 위한 함수를 만듭니다.

 

scikit-learn패키지에서 데이터 분할을 위한 train_test_split을 사용하여 데이터를 분할하고 성능지표인 roc_auc 성능이 제일 좋은 모델을 선택합니다.

 

제출할 데이터 생성

 

제출할 데이터를 custid, gender데이터 프레임으로 만들어서 csv로 저장합니다.

728x90