본문 바로가기
데이터분석

캐글 Home Credit Default Risk 01 - 데이터

by 안행주의 2020. 6. 24.

캐글의 'Home Credit Default Risk'를 진행하면서 데이터 파악을 위해

HomeCredit_columns_description 부분을 정리해보았습니다.

* <데이터 파악1> 부분에서는 application 데이터만 다루고 있습니다.

 

https://www.kaggle.com/c/home-credit-default-risk

 

Home Credit Default Risk

Can you predict how capable each applicant is of repaying a loan?

www.kaggle.com

 


 

'Home Credit Default Risk'의 전체 데이터 구조는 아래와 같습니다.

train/test set이 되는 application 데이터로 홈 크레딧에 대출 신청 당시 작성한 내용을 알 수 있습니다.

또, bureau 데이터를 통해서 과거에 다른 금융기관과의 신용거래 내역을 알 수 있습니다.

previous 데이터에는 과거 홈 크레딧에서 대출 기록을 알 수 있습니다.

 

캐글 'Home Credit Default Risk' Data


1. application_{train|test}

1. [SK_ID_CURR] ID of loan in our sample, 대출 ID

 

2. [TARGET] "Target variable (1 - client with payment difficulties: he/she had late payment more than X days on at least one of the first Y installments of the loan in our sample, 0 - all other cases)"

['TARGET'].value_counts()

0

282686 

다른 모든 경우

1

24825

지불에 어려움을 겪는 고객: 첫 대출 금액 Y의 적어도 일부분에 대해 X날 이상 지불이 늦음 

 

5. [NAME_CONTRACT_TYPE] Identification if loan is cash or revolving, 대출이 현금인지 리볼빙인지

*리볼빙: 약정된 결제일에 최소 금액만 결제하고 나머지 대금은 대출로 이전하는 방식

 

6. [CODE_GENDER] Gender of the client, 성별[F/M/XNA]

7. [FLAG_OWN_CAR] Flag if the client owns a car, 차 소유 여부[Y/N]

8. [FLAG_OWN_REALTY] Flag if client owns a house or flat, 집/아파트 보유 여부[Y/N]

 

9. [CNT_CHILDREN] Number of children the client has, 자녀수

10. [AMT_INCOME_TOTAL] Income of the client, 수입

 

11. [AMT_CREDIT] Credit amount of the loan, 대출 총액

12. [AMT_ANNUITY] Loan annuity, 매달 내야하는 돈(이자 포함)

13. [AMT_GOODS_PRICE] For consumer loans it is the price of the goods for which the loan is given, 대출받아서 사려고 한 상품 총액


14. [NAME_TYPE_SUITE] Who was accompanying client when he was applying for the loan, 대출 신청시 동행인

['Unaccompanied' 'Family' 'Spouse, partner' 'Children' 'Other_A' 'NAN' 'Other_B' 'Group of people']

 

15. [NAME_INCOME_TYPE] "Clients income type (businessman, working, maternity leave,... )", 소득 타입

['Working' 'State servant' 'Commercial associate' 'Pensioner' 'Unemployed' 'Student' 'Businessman' 'Maternity leave']

 

16. [NAME_EDUCATION_TYPE] Level of highest education the client achieved, 최종 학력 수준

['Secondary / secondary special' 'Higher education' 'Incomplete higher' 'Lower secondary' 'Academic degree']

 

17. [NAME_FAMILY_STATUS] Family status of the client, 가족 현황

['Single / not married' 'Married' 'Civil marriage' 'Widow' 'Separated' 'Unknown']

 

18. [NAME_HOUSING_TYPE] "What is the housing situation of the client (renting, living with parents, ...)", 주거 현황

['House / apartment' 'Rented apartment' 'With parents' 'Municipal apartment' 'Office apartment' 'Co-op apartment']

19. [REGION_POPULATION_RELATIVE] Normalized population of region where client lives (higher number means the client lives in more populated region),normalized, 고객 거주 지역의 정규화된 인구수(높을수록 인구수 많음)

 

20. [DAYS_BIRTH] Client's age in days at the time of application,time only relative to the application, 신청날 고객 나이

 

21. [DAYS_EMPLOYED] How many days before the application the person started current employment,time only relative to the application, 신청일 기준 현재 직장에서 일한 일 수


22. [DAYS_REGISTRATION] How many days before the application did client change his registration,time only relative to the application, 고객이 등록서류를 변경한 일 수, 신청일 기준


23. [DAYS_ID_PUBLISH] How many days before the application did client change the identity document with which he applied for the loan,time only relative to the application, 고객이 대출을 신청한 동안에 신분증 문서를 변경한 일수, 신청일 기준


24. [OWN_CAR_AGE] Age of client's car, 고객 자동차 연식


25. [FLAG_MOBIL] "Did client provide mobile phone (1=YES, 0=NO)", 고객 휴대폰 번호 제공 여부

26. [FLAG_EMP_PHONE] "Did client provide work phone (1=YES, 0=NO)", 고객 직장 번호 제공 여부

27. [FLAG_WORK_PHONE] "Did client provide home phone (1=YES, 0=NO)", 고객 자택 번호 제공 여부

28. [FLAG_CONT_MOBILE] "Was mobile phone reachable (1=YES, 0=NO)", 고객 휴대폰 연결 가능 여부

29. [FLAG_PHONE] "Did client provide home phone (1=YES, 0=NO)", 고객 자택 번호 제공 여부

30. [FLAG_EMAIL] "Did client provide email (1=YES, 0=NO)", 고객 이메일 제공 여부

31. [OCCUPATION_TYPE] What kind of occupation does the client have, 고객 직업

 

32. [CNT_FAM_MEMBERS] How many family members does client have, 고객 가족 구성원 수

 

33. [REGION_RATING_CLIENT] "Our rating of the region where client lives (1,2,3)", 고객이 사는 지역에 대한 우리의 평가(1, 2, 3)

34. [REGION_RATING_CLIENT_W_CITY] "Our rating of the region where client lives with taking city into account (1,2,3)", 고객이 사는 도시에 대한 우리의 평가(1, 2, 3)

 

35. [WEEKDAY_APPR_PROCESS_START] On which day of the week did the client apply for the loan, 대출 신청 요일

36. [HOUR_APPR_PROCESS_START] Approximately at what hour did the client apply for the loan,rounded, 대출 신청한 대략적인 시각


37. [REG_REGION_NOT_LIVE_REGION] "Flag if client's permanent address does not match contact address (1=different, 0=same, at region level)", 고객 영구 주소와 획득 주소가 일치하는지(지역)

38. [REG_REGION_NOT_WORK_REGION] "Flag if client's permanent address does not match work address (1=different, 0=same, at region level)", 고객 영구 주소와 직장 주소가 일치하는지

39. [LIVE_REGION_NOT_WORK_REGION] "Flag if client's contact address does not match work address (1=different, 0=same, at region level)", 고객 획득 주소와 직장 주소가 일치하는지

40. [REG_CITY_NOT_LIVE_CITY] "Flag if client's permanent address does not match contact address (1=different, 0=same, at city level)", 고객 영구 주소와 획득 주소가 일치하는지(도시)

41. [REG_CITY_NOT_WORK_CITY] "Flag if client's permanent address does not match work address (1=different, 0=same, at city level)", 고객 영구 주소와 직장 주소가 일치하는지

42. [LIVE_CITY_NOT_WORK_CITY] "Flag if client's contact address does not match work address (1=different, 0=same, at city level)", 고객 획득 주소와 직장 주소가 일치하는지


43. [ORGANIZATION_TYPE] Type of organization where client works, 고객이 일하는 조직의 유형


44. [EXT_SOURCE_1] Normalized score from external data source,normalized, 외부 데이터 소스의 정규화된 점수

45. [EXT_SOURCE_2] Normalized score from external data source,normalized

46. [EXT_SOURCE_3] Normalized score from external data source,normalized

 

47 ~ 93. "Normalized information about building where the client lives, What is average (_AVG suffix), modus (_MODE suffix), median (_MEDI suffix) apartment size, common area, living area, age of building, number of elevators, number of entrances, state of the building, number of floor",normalized, 고객이 거주하는 곳에 대한 표준화된 정보, 아파트 사이즈, 공용지, 주거지, 빌딩 나이, 엘리베이터 수, 입구 수, 빌딩 상태, 층 수 등에 대한 평균(_AVG suffix), 최빈값(_MODE suffix), 중앙값 (_MEDI suffix)

  - 47~60 평균(_AVG suffix)
[APARTMENTS_AVG] [BASEMENTAREA_AVG] [YEARS_BEGINEXPLUATATION_AVG] [YEARS_BUILD_AVG] [COMMONAREA_AVG] [ELEVATORS_AVG] [ENTRANCES_AVG] [FLOORSMAX_AVG] [FLOORSMIN_AVG] [LANDAREA_AVG] [LIVINGAPARTMENTS_AVG] [LIVINGAREA_AVG] [NONLIVINGAPARTMENTS_AVG] [NONLIVINGAREA_AVG]
  - 61~74 최빈값(_MODE suffix)
[APARTMENTS_MODE] [BASEMENTAREA_MODE] [YEARS_BEGINEXPLUATATION_MODE] [YEARS_BUILD_MODE] [COMMONAREA_MODE] [ELEVATORS_MODE] [ENTRANCES_MODE] [FLOORSMAX_MODE] [FLOORSMIN_MODE] [LANDAREA_MODE] [LIVINGAPARTMENTS_MODE] [LIVINGAREA_MODE] [NONLIVINGAPARTMENTS_MODE] [NONLIVINGAREA_MODE]
  - 75~88 중앙값 (_MEDI suffix)
[APARTMENTS_MEDI] [BASEMENTAREA_MEDI] [YEARS_BEGINEXPLUATATION_MEDI] [YEARS_BUILD_MEDI] [COMMONAREA_MEDI] [ELEVATORS_MEDI] [ENTRANCES_MEDI] [FLOORSMAX_MEDI] [FLOORSMIN_MEDI] [LANDAREA_MEDI] [LIVINGAPARTMENTS_MEDI] [LIVINGAREA_MEDI] [NONLIVINGAPARTMENTS_MEDI] [NONLIVINGAREA_MEDI]
  - 89~93 최빈값(_MODE suffix)
[FONDKAPREMONT_MODE] [HOUSETYPE_MODE] [TOTALAREA_MODE] [WALLSMATERIAL_MODE] [EMERGENCYSTATE_MODE]

 

94. [OBS_30_CNT_SOCIAL_CIRCLE] How many observation of client's social surroundings with observable 30 DPD (days past due) default, 고객 주위 사람 중 30일 이상 지불이 늦을 수 있는 사람의 수

95. [DEF_30_CNT_SOCIAL_CIRCLE] How many observation of client's social surroundings defaulted on 30 DPD (days past due), 해당 고객 주위 사람 중 30일 이상 지불이 정말 늦은 사람의 수

96. [OBS_60_CNT_SOCIAL_CIRCLE] How many observation of client's social surroundings with observable 60 DPD (days past due) default, 해당 고객 주위 사람 중 60일 이상 지불이 늦을 수 있는 사람의 수

97. [DEF_60_CNT_SOCIAL_CIRCLE] How many observation of client's social surroundings defaulted on 60 (days past due) DPD, 해당 고객 주위 사람 중 60일 이상 지불이 정말 늦은 사람의 수

 

98. [DAYS_LAST_PHONE_CHANGE] How many days before application did client change phone, 대출 신청 며칠 전에 휴대폰을 변경했는가?

 

 

99 ~118. Did client provide document 2 ~ 21, 고객 문서 제공 횟수

[FLAG_DOCUMENT_2] [FLAG_DOCUMENT_3] [FLAG_DOCUMENT_4] [FLAG_DOCUMENT_5] [FLAG_DOCUMENT_6] [FLAG_DOCUMENT_7] [FLAG_DOCUMENT_8] [FLAG_DOCUMENT_9] [FLAG_DOCUMENT_10] [FLAG_DOCUMENT_11] [FLAG_DOCUMENT_12] [FLAG_DOCUMENT_13] [FLAG_DOCUMENT_14] [FLAG_DOCUMENT_14] [FLAG_DOCUMENT_15] [FLAG_DOCUMENT_16] [FLAG_DOCUMENT_17] [FLAG_DOCUMENT_18] [FLAG_DOCUMENT_19] [FLAG_DOCUMENT_20] [FLAG_DOCUMENT_21]

 

119. [AMT_REQ_CREDIT_BUREAU_HOUR] ,Number of enquiries to Credit Bureau about the client one hour before application, 신청 전 1시간 고객에 대한 CB로의 문의 횟수

120. [AMT_REQ_CREDIT_BUREAU_DAY] Number of enquiries to Credit Bureau about the client one day before application (excluding one hour before application), 신청 전 하루동안 고객에 대한 CB로의 문의 횟수(1시간 전 제외)

121. [AMT_REQ_CREDIT_BUREAU_WEEK] Number of enquiries to Credit Bureau about the client one week before application (excluding one day before application), 신청 전 일주일동안 고객에 대한 CB로의 문의 횟수(하루 전 제외)
122. [AMT_REQ_CREDIT_BUREAU_MON] Number of enquiries to Credit Bureau about the client one month before application (excluding one week before application), 신청 전 한 달동안 고객에 대한 CB로의 문의 횟수(일주일 전 전 제외)

123. [AMT_REQ_CREDIT_BUREAU_QRT] Number of enquiries to Credit Bureau about the client 3 month before application (excluding one month before application), 신청 전 세 달 동안 고객에 대한 CB로의 문의 횟수(한 달 전 제외)

124. [AMT_REQ_CREDIT_BUREAU_YEAR] Number of enquiries to Credit Bureau about the client one day year (excluding last 3 months before application), 신청 전 일년 동안 고객에 대한 CB로의 문의 횟수(세 달 전 제외)


* object 타입 데이터 처리

train['index'].dtype == 'object'

['NAME_CONTRACT_TYPE', 'CODE_GENDER', 'FLAG_OWN_CAR', 'FLAG_OWN_REALTY', 'NAME_TYPE_SUITE', 'NAME_INCOME_TYPE', 'NAME_EDUCATION_TYPE', 'NAME_FAMILY_STATUS', 'NAME_HOUSING_TYPE', 'OCCUPATION_TYPE', 'WEEKDAY_APPR_PROCESS_START', 'ORGANIZATION_TYPE', 'FONDKAPREMONT_MODE', 'HOUSETYPE_MODE', 'WALLSMATERIAL_MODE', 'EMERGENCYSTATE_MODE'],

 

카테고리가 2개인 경우 [0, 1]로 label encoding

[NAME_CONTRACT_TYPE]

[CODE_GENDER]

[FLAG_OWN_CAR]

[FLAG_OWN_REALTY]

Cash loans

278232

F

202448

N

202924

Y

213312

Revolving loans

29279

M

105059

Y

104587

N

94199

   

XNA

4 > 제거

       

카테고리가 2개 이상인 경우 One-hot encoding

'데이터분석' 카테고리의 다른 글

텔레그램 영화 추천 챗봇(20.02.16 - 20.03.01)  (0) 2020.12.27
XGboost  (0) 2020.07.09
캐글 Home Credit Default Risk 02 - 데이터  (0) 2020.07.07