Search

전처리 과정 정리

0. 데이터 샘플링

각 parquet 파일별 데이터 개수가 40만개인 것을 확인.
>> 샘플링 후 분석 필요!!
샘플링 기준 설정하기
 각 parquet 파일별 8000건 샘플링으로 선정!

1. 데이터 분포, 결측치 등 확인하기

df_회원정보 = segment_dfs['1.회원정보'] df_신용정보 = segment_dfs['2.신용정보'] df_승인매출정보 = segment_dfs['3.승인매출정보'] df_청구입금정보 = segment_dfs['4.청구입금정보'] df_잔액정보 = segment_dfs['5.잔액정보'] df_채널정보 = segment_dfs['6.채널정보'] df_마케팅정보 = segment_dfs['7.마케팅정보'] df_성과정보 = segment_dfs['8.성과정보']
Python
복사
다음과 같이 카드 데이터에 대한 메타 데이터를 구분했다.

1-1. 각 데이터프레임 EDA

회원정보 EDA
78개의 컬럼이 존재하기 때문에, 필요 컬럼만 도출하는 과정이 필요해보인다.
Segment → 타겟 변수로, 불균형한 것을 확인했다.
- E : 80% - D : 14% - C : 5% - B : 아예 데이터가 없음 - A : 0.025%
Plain Text
복사
불필요한 변수 제거 작업
ID
범주형 변수
남녀구분코드
회원여부_이용가능 ~ _카드론
소지여부_신용
연체여부
다중공선성 여지 변수
고객 세그먼테이션이 목적일 경우,
“어떤 변수”가 “어떤 그룹”을 구분하는지 설명하는 게 중요하므로,
①필터링(상관·VIF 기반 제거) + ②임베디드(Lasso 등) → 최종 원본 변수 집합을 도출한 뒤,
③(선택) PCA·변수군 클러스터링으로 추가 차원 축소를 적용해도 괜찮다.
회원여부_이용가능, 회원여부_이용가능_CA, 회원여부_이용가능_카드론
0 기준년월 48000 non-null int64
1 ID 48000 non-null object 2 남녀구분코드 48000 non-null int64
3 연령 48000 non-null object 4 Segment 48000 non-null object 5 회원여부_이용가능 48000 non-null int64
6 회원여부_이용가능_CA 48000 non-null int64
7 회원여부_이용가능_카드론 48000 non-null int64
8 소지여부_신용 48000 non-null int64
9 소지카드수_유효_신용 48000 non-null int64
10 소지카드수_이용가능_신용 48000 non-null int64
11 입회일자_신용 48000 non-null int64
12 입회경과개월수_신용 48000 non-null int64
13 회원여부_연체 48000 non-null int64
14 이용거절여부_카드론 48000 non-null int64
15 동의여부_한도증액안내 48000 non-null int64
16 수신거부여부_TM 48000 non-null int64
17 수신거부여부_DM 48000 non-null int64
18 수신거부여부_메일 48000 non-null int64
19 수신거부여부_SMS 48000 non-null int64
20 가입통신회사코드 40338 non-null object 21 탈회횟수_누적 48000 non-null int64
22 최종탈회후경과월 48000 non-null int64
23 탈회횟수_발급6개월이내 48000 non-null int64
24 탈회횟수_발급1년이내 48000 non-null int64
25 거주시도명 48000 non-null object 26 직장시도명 42956 non-null object 27 마케팅동의여부 48000 non-null int64
28 유효카드수_신용체크 48000 non-null int64
29 유효카드수_신용 48000 non-null int64
30 유효카드수_신용_가족 48000 non-null int64
31 유효카드수_체크 48000 non-null int64
32 유효카드수_체크_가족 48000 non-null int64
33 이용가능카드수_신용체크 48000 non-null int64
34 이용가능카드수_신용 48000 non-null int64
35 이용가능카드수_신용_가족 48000 non-null int64
36 이용가능카드수_체크 48000 non-null int64
37 이용가능카드수_체크_가족 48000 non-null int64
38 이용카드수_신용체크 48000 non-null int64
39 이용카드수_신용 48000 non-null int64
40 이용카드수_신용_가족 48000 non-null int64
41 이용카드수_체크 48000 non-null int64
42 이용카드수_체크_가족 48000 non-null int64
43 이용금액_R3M_신용체크 48000 non-null int64
44 이용금액_R3M_신용 48000 non-null int64
45 이용금액_R3M_신용_가족 48000 non-null int64
46 이용금액_R3M_체크 48000 non-null int64
47 이용금액_R3M_체크_가족 48000 non-null int64
48 _1순위카드이용금액 48000 non-null int64
49 _1순위카드이용건수 48000 non-null int64
50 _1순위신용체크구분 47395 non-null object 51 _2순위카드이용금액 48000 non-null int64
52 _2순위카드이용건수 48000 non-null int64
53 _2순위신용체크구분 28661 non-null object 54 최종유효년월_신용_이용가능 43887 non-null float64 55 최종유효년월_신용_이용 37443 non-null float64 56 최종카드발급일자 47135 non-null float64 57 보유여부_해외겸용_본인 48000 non-null int64
58 이용가능여부_해외겸용_본인 48000 non-null int64
59 이용여부_3M_해외겸용_본인 48000 non-null int64
60 보유여부_해외겸용_신용_본인 48000 non-null int64
61 이용가능여부_해외겸용_신용_본인 48000 non-null int64
62 이용여부_3M_해외겸용_신용_본인 48000 non-null int64
63 연회비발생카드수_B0M 48000 non-null object 64 연회비할인카드수_B0M 48000 non-null int64
65 기본연회비_B0M 48000 non-null int64
66 제휴연회비_B0M 48000 non-null int64
67 할인금액_기본연회비_B0M 48000 non-null int64
68 할인금액_제휴연회비_B0M 48000 non-null int64
69 청구금액_기본연회비_B0M 48000 non-null int64
70 청구금액_제휴연회비_B0M 48000 non-null int64
71 상품관련면제카드수_B0M 48000 non-null object 72 임직원면제카드수_B0M 48000 non-null object 73 우수회원면제카드수_B0M 48000 non-null object 74 기타면제카드수_B0M 48000 non-null object 75 카드신청건수 48000 non-null int64
76 Life_Stage 48000 non-null object 77 최종카드발급경과월 48000 non-null int64