Santander Product Recommendation 01
My Kaggle Notebook : https://www.kaggle.com/code/hunbot
Zip 파일 한번에 풀기
glob을 사용하면 zip 파일을 한번에 풀 수 있다.
import zipfile
import glob
zip_files = glob.glob("/kaggle/input/competitions/santander-product-recommendation/*.zip")
for zpath in zip_files:
with zipfile.ZipFile(zpath, 'r') as z:
z.extractall("/kaggle/working/")
데이터셋 칼럼 정리
train_csv.info()를 통해서 데이터셋의 칼럼을 확인할 수 있고, 이 칼럼은 스페인어라 이해하기 쉽도록 영어와 한국어로 번역한 표를 만들어서 정리하면 아래와 같다.
데이터에 대한 설명은 https://www.kaggle.com/competitions/santander-product-recommendation/data 해당 링크에서 확인이 가능하다.
Customer Information Columns
- Employee index: A active, B ex employed, F filial, N not employee, P pasive
- Customer type at the beginning of the month ,1 (First/Primary customer), 2 (co-owner ),P (Potential),3 (former primary), 4(former co-owner)
- Customer relation type at the beginning of the month, A (active), I (inactive), P (former customer),R (Potential)
| Column | Description (EN) | Description (KR) | Pandas Dtype |
|---|---|---|---|
| fecha_dato | Table partition date | 데이터 기준일 / 월별 스냅샷 날짜 | object |
| ncodpers | Customer code | 고객 ID | int64 |
| ind_empleado | Employee index | 직원 구분 | object |
| pais_residencia | Country of residence | 거주 국가 | object |
| sexo | Customer’s sex | 성별 | object |
| age | Age | 나이 | object |
| fecha_alta | Registration date | 가입하고 첫 계약일 | object |
| ind_nuevo | New customer index | 신규 고객 여부 | float64 |
| antiguedad | Customer seniority (months) | 거래 누적 기간 | object |
| indrel | Customer status | 고객 상태 | float64 |
| ult_fec_cli_1t | Last primary customer date | 1등급 고객로써 마지막 날짜 | object |
| indrel_1mes | Customer type at beginning of month | 월초 고객 유형 | object |
| tiprel_1mes | Relationship type at beginning of month | 월초 관계 유형 | object |
| indresi | Residence index | 거주 여부 | object |
| indext | Foreigner index | 외국인 여부 | object |
| conyuemp | Employee spouse index | 직원 배우자 여부 | object |
| canal_entrada | Acquisition channel | 유입 채널 | object |
| indfall | Deceased index | 사망 여부 | object |
| tipodom | Address type | 주소 유형 | float64 |
| cod_prov | Province code | 지역 코드 | float64 |
| nomprov | Province name | 지역명 | object |
| ind_actividad_cliente | Activity index | 고객 활동 여부 | float64 |
| renta | Gross income | 가구 총소득 | float64 |
| segmento | Customer segment | 고객 세그먼트 | object |
Product Columns
| Column | Description (EN) | Description (KR) | Pandas Dtype |
|---|---|---|---|
| ind_ahor_fin_ult1 | Saving Account | 저축 계좌 | int64 |
| ind_aval_fin_ult1 | Guarantees | 보증 상품 | int64 |
| ind_cco_fin_ult1 | Current Account | 당좌 계좌 | int64 |
| ind_cder_fin_ult1 | Derivative Account | 파생상품 계좌 | int64 |
| ind_cno_fin_ult1 | Payroll Account | 급여 계좌 | int64 |
| ind_ctju_fin_ult1 | Junior Account | 청소년 계좌 | int64 |
| ind_ctma_fin_ult1 | Más Particular Account | 특별 계좌 | int64 |
| ind_ctop_fin_ult1 | Particular Account | 일반 계좌 | int64 |
| ind_ctpp_fin_ult1 | Particular Plus Account | 일반 플러스 계좌 | int64 |
| ind_deco_fin_ult1 | Short-term Deposit | 단기 예금 | int64 |
| ind_deme_fin_ult1 | Medium-term Deposit | 중기 예금 | int64 |
| ind_dela_fin_ult1 | Long-term Deposit | 장기 예금 | int64 |
| ind_ecue_fin_ult1 | E-account | 전자 계좌 | int64 |
| ind_fond_fin_ult1 | Funds | 펀드 | int64 |
| ind_hip_fin_ult1 | Mortgage | 주택담보대출 | int64 |
| ind_plan_fin_ult1 | Pension Plan | 연금 상품 | int64 |
| ind_pres_fin_ult1 | Loans | 대출 | int64 |
| ind_reca_fin_ult1 | Taxes | 세금 관련 상품 | int64 |
| ind_tjcr_fin_ult1 | Credit Card | 신용카드 | int64 |
| ind_valo_fin_ult1 | Securities | 증권 상품 | int64 |
| ind_viv_fin_ult1 | Home Account | 주택 관련 상품 | int64 |
| ind_nomina_ult1 | Payroll | 급여 서비스 | float64 |
| ind_nom_pens_ult1 | Pensions | 연금 수령 서비스 | float64 |
| ind_recibo_ult1 | Direct Debit | 자동이체 | int64 |
GPT에게 영어와 한국어로 보기 편하게 해달라고 한 뒤, 이 24개의 고객 변수중 int64, float64, object 타입을 구분해서 보자.
num_cols=[col for col in train_csv.columns[:24] if train_csv[col].dtype in ['int64','float64']]
train_csv[num_cols].describe()
| Statistic | ncodpers | ind_nuevo | indrel | tipodom | cod_prov | ind_actividad_cliente | renta |
|---|---|---|---|---|---|---|---|
| count | 1.364731e+07 | 1.361958e+07 | 1.361958e+07 | 13619574.0 | 1.355372e+07 | 1.361958e+07 | 1.085293e+07 |
| mean | 8.349042e+05 | 5.956184e-02 | 1.178399e+00 | 1.0 | 2.657147e+01 | 4.578105e-01 | 1.342543e+05 |
| std | 4.315650e+05 | 2.366733e-01 | 4.177469e+00 | 0.0 | 1.278402e+01 | 4.982169e-01 | 2.306202e+05 |
| min | 1.588900e+04 | 0.000000e+00 | 1.000000e+00 | 1.0 | 1.000000e+00 | 0.000000e+00 | 1.202730e+03 |
| 25% | 4.528130e+05 | 0.000000e+00 | 1.000000e+00 | 1.0 | 1.500000e+01 | 0.000000e+00 | 6.871098e+04 |
| 50% | 9.318930e+05 | 0.000000e+00 | 1.000000e+00 | 1.0 | 2.800000e+01 | 0.000000e+00 | 1.018500e+05 |
| 75% | 1.199286e+06 | 0.000000e+00 | 1.000000e+00 | 1.0 | 3.500000e+01 | 1.000000e+00 | 1.559560e+05 |
| max | 1.553689e+06 | 1.000000e+00 | 9.900000e+01 | 1.0 | 5.200000e+01 | 1.000000e+00 | 2.889440e+07 |
고객 식별 번호는 1,5889 ~ 1,553689까지 존재하며, 신규 고객 여부는 0과 1로만 존재한다.
고객 상태는 199까지 존재하며, 주소 유형은 1로만 존재한다.
지역 코드는 152까지 존재하며, 고객 활동 지수는 0과 1로만 존재한다.
총소득은 최소 1202.73 ~ 최대 28894400까지 존재한다.
그렇다면, 필요 없는건 모든 값이 1인 주소 유형임을 확인할 수 있다.
범주형 변수를 확인해보자
| Statistic | fecha_dato | ind_empleado | pais_residencia | sexo | age | fecha_alta | antiguedad | ult_fec_cli_1t |
|---|---|---|---|---|---|---|---|---|
| count | 13647309 | 13619575 | 13619575 | 13619505 | 13647309 | 13619575 | 13647309 | 24793 |
| unique | 17 | 5 | 118 | 2 | 121 | 6756 | 259 | 223 |
| top | 2016-05-28 | N | ES | V | 23 | 2014-07-28 | 12 | 2015-12-24 |
| freq | 931453 | 13610977 | 13553710 | 7424252 | 779884 | 57389 | 243160 | 763 |
나머지 열은 생략하고, 보이는 범위까지만 정리했다.
해당 데이터셋의 범주형 변수는 총 17개이며, 각 변수의 고유값 수와 최빈값을 확인할 수 있다.
count는 각 변수의 결측치가 없는 경우 13,647,309이며, unique는 각 변수의 고유값 수를 나타낸다. top은 가장 빈도가 높은 값이며, freq는 해당 값의 빈도를 나타낸다.
즉, freq가 높은 값은 각 변수의 최빈값이며, 해당 값이 전체 데이터에서 차지하는 비율이 높다는 것을 의미한다. 이는 데이터가 분포가 치우쳐져 있다는 것을 의미하며, 모델링 시 주의가 필요하다.
그렇다는건, ult_fec_cli_1t, conyuemp, indfall은 결측치가 많다는 것을 확인할 수 있다.
범주형 변수의 고유값 확인
for col in cat_cols:
uniq=np.unique(train_csv[col].astype(str))
print('-' * 50)
print(f'# col {col}, n_uniq {len(uniq)}, uniq {uniq}')
각 칼럼별 분석 (고유값 상세 보기)
--------------------------------------------------
# col fecha_dato, n_uniq 17, uniq ['2015-01-28' '2015-02-28' '2015-03-28' '2015-04-28' '2015-05-28'
'2015-06-28' '2015-07-28' '2015-08-28' '2015-09-28' '2015-10-28'
'2015-11-28' '2015-12-28' '2016-01-28' '2016-02-28' '2016-03-28'
'2016-04-28' '2016-05-28']
매달 28일에 데이터가 수집되었음을 확인할 수 있다.
--------------------------------------------------
# col ind_empleado, n_uniq 6, uniq ['A' 'B' 'F' 'N' 'S' 'nan']
설명에 따르면 -> Employee index: A active, B ex employed, F filial, N not employee, P pasive이며,
위에서 범주형 변수의 top은 N, freq는 13,610,977로 전체 데이터의 99.7%를 차지한다.
즉, 대부분의 고객은 직원이 아님을 확인할 수 있다.
아마 사용하지 못할 것 같다.
--------------------------------------------------
# col pais_residencia, n_uniq 119, uniq ['AD' 'AE' 'AL' 'AO' 'AR' 'AT' 'AU' 'BA' 'BE' 'BG' 'BM' 'BO' 'BR' 'BY'
'BZ' 'CA' 'CD' 'CF' 'CG' 'CH' 'CI' 'CL' 'CM' 'CN' 'CO' 'CR' 'CU' 'CZ'
'DE' 'DJ' 'DK' 'DO' 'DZ' 'EC' 'EE' 'EG' 'ES' 'ET' 'FI' 'FR' 'GA' 'GB'
'GE' 'GH' 'GI' 'GM' 'GN' 'GQ' 'GR' 'GT' 'GW' 'HK' 'HN' 'HR' 'HU' 'IE'
'IL' 'IN' 'IS' 'IT' 'JM' 'JP' 'KE' 'KH' 'KR' 'KW' 'KZ' 'LB' 'LT' 'LU'
'LV' 'LY' 'MA' 'MD' 'MK' 'ML' 'MM' 'MR' 'MT' 'MX' 'MZ' 'NG' 'NI' 'NL'
'NO' 'NZ' 'OM' 'PA' 'PE' 'PH' 'PK' 'PL' 'PR' 'PT' 'PY' 'QA' 'RO' 'RS'
'RU' 'SA' 'SE' 'SG' 'SK' 'SL' 'SN' 'SV' 'TG' 'TH' 'TN' 'TR' 'TW' 'UA'
'US' 'UY' 'VE' 'VN' 'ZA' 'ZW' 'nan']
--------------------------------------------------
# col sexo, n_uniq 3, uniq ['H' 'V' 'nan']
--------------------------------------------------
# col age, n_uniq 121, uniq [' 2' ' 3' ' 4' ' 5' ' 6' ' 7' ' 8' ' 9' ' 10' ' 11' ' 12' ' 13'
' 14' ' 15' ' 16' ' 17' ' 18' ' 19' ' 20' ' 21' ' 22' ' 23' ' 24' ' 25'
' 26' ' 27' ' 28' ' 29' ' 30' ' 31' ' 32' ' 33' ' 34' ' 35' ' 36' ' 37'
' 38' ' 39' ' 40' ' 41' ' 42' ' 43' ' 44' ' 45' ' 46' ' 47' ' 48' ' 49'
' 50' ' 51' ' 52' ' 53' ' 54' ' 55' ' 56' ' 57' ' 58' ' 59' ' 60' ' 61'
' 62' ' 63' ' 64' ' 65' ' 66' ' 67' ' 68' ' 69' ' 70' ' 71' ' 72' ' 73'
' 74' ' 75' ' 76' ' 77' ' 78' ' 79' ' 80' ' 81' ' 82' ' 83' ' 84' ' 85'
' 86' ' 87' ' 88' ' 89' ' 90' ' 91' ' 92' ' 93' ' 94' ' 95' ' 96' ' 97'
' 98' ' 99' ' NA' '100' '101' '102' '103' '104' '105' '106' '107' '108'
'109' '110' '111' '112' '113' '114' '115' '116' '117' '126' '127' '163'
'164']
--------------------------------------------------
# col fecha_alta, n_uniq 6757, uniq ['1995-01-16' '1995-01-17' '1995-01-23' ... '2016-05-30' '2016-05-31'
'nan']
--------------------------------------------------
# col antiguedad, n_uniq 259, uniq [' 0' ' 1' ' 2' ' 3' ' 4' ' 5' ' 6'
' 7' ' 8' ' 9' ' 10' ' 11' ' 12' ' 13'
' 14' ' 15' ' 16' ' 17' ' 18' ' 19' ' 20'
' 21' ' 22' ' 23' ' 24' ' 25' ' 26' ' 27'
' 28' ' 29' ' 30' ' 31' ' 32' ' 33' ' 34'
' 35' ' 36' ' 37' ' 38' ' 39' ' 40' ' 41'
' 42' ' 43' ' 44' ' 45' ' 46' ' 47' ' 48'
' 49' ' 50' ' 51' ' 52' ' 53' ' 54' ' 55'
' 56' ' 57' ' 58' ' 59' ' 60' ' 61' ' 62'
' 63' ' 64' ' 65' ' 66' ' 67' ' 68' ' 69'
' 70' ' 71' ' 72' ' 73' ' 74' ' 75' ' 76'
' 77' ' 78' ' 79' ' 80' ' 81' ' 82' ' 83'
' 84' ' 85' ' 86' ' 87' ' 88' ' 89' ' 90'
' 91' ' 92' ' 93' ' 94' ' 95' ' 96' ' 97'
' 98' ' 99' ' NA' ' 100' ' 101' ' 102' ' 103'
' 104' ' 105' ' 106' ' 107' ' 108' ' 109' ' 110'
' 111' ' 112' ' 113' ' 114' ' 115' ' 116' ' 117'
' 118' ' 119' ' 120' ' 121' ' 122' ' 123' ' 124'
' 125' ' 126' ' 127' ' 128' ' 129' ' 130' ' 131'
' 132' ' 133' ' 134' ' 135' ' 136' ' 137' ' 138'
' 139' ' 140' ' 141' ' 142' ' 143' ' 144' ' 145'
' 146' ' 147' ' 148' ' 149' ' 150' ' 151' ' 152'
' 153' ' 154' ' 155' ' 156' ' 157' ' 158' ' 159'
' 160' ' 161' ' 162' ' 163' ' 164' ' 165' ' 166'
' 167' ' 168' ' 169' ' 170' ' 171' ' 172' ' 173'
' 174' ' 175' ' 176' ' 177' ' 178' ' 179' ' 180'
' 181' ' 182' ' 183' ' 184' ' 185' ' 186' ' 187'
' 188' ' 189' ' 190' ' 191' ' 192' ' 193' ' 194'
' 195' ' 196' ' 197' ' 198' ' 199' ' 200' ' 201'
' 202' ' 203' ' 204' ' 205' ' 206' ' 207' ' 208'
' 209' ' 210' ' 211' ' 212' ' 213' ' 214' ' 215'
' 216' ' 217' ' 218' ' 219' ' 220' ' 221' ' 222'
' 223' ' 224' ' 225' ' 226' ' 227' ' 228' ' 229'
' 230' ' 231' ' 232' ' 233' ' 234' ' 235' ' 236'
' 237' ' 238' ' 239' ' 240' ' 241' ' 242' ' 243'
' 244' ' 245' ' 246' ' 247' ' 248' ' 249' ' 250'
' 251' ' 252' ' 253' ' 254' ' 255' ' 256' '-999999']
--------------------------------------------------
# col ult_fec_cli_1t, n_uniq 224, uniq ['2015-07-01' '2015-07-02' '2015-07-03' '2015-07-06' '2015-07-07'
'2015-07-08' '2015-07-09' '2015-07-10' '2015-07-13' '2015-07-14'
'2015-07-15' '2015-07-16' '2015-07-17' '2015-07-20' '2015-07-21'
'2015-07-22' '2015-07-23' '2015-07-24' '2015-07-27' '2015-07-28'
'2015-07-29' '2015-07-30' '2015-08-03' '2015-08-04' '2015-08-05'
'2015-08-06' '2015-08-07' '2015-08-10' '2015-08-11' '2015-08-12'
'2015-08-13' '2015-08-14' '2015-08-17' '2015-08-18' '2015-08-19'
'2015-08-20' '2015-08-21' '2015-08-24' '2015-08-25' '2015-08-26'
'2015-08-27' '2015-08-28' '2015-09-01' '2015-09-02' '2015-09-03'
'2015-09-04' '2015-09-07' '2015-09-08' '2015-09-09' '2015-09-10'
'2015-09-11' '2015-09-14' '2015-09-15' '2015-09-16' '2015-09-17'
'2015-09-18' '2015-09-21' '2015-09-22' '2015-09-23' '2015-09-24'
'2015-09-25' '2015-09-28' '2015-09-29' '2015-10-01' '2015-10-02'
'2015-10-05' '2015-10-06' '2015-10-07' '2015-10-08' '2015-10-09'
'2015-10-13' '2015-10-14' '2015-10-15' '2015-10-16' '2015-10-19'
'2015-10-20' '2015-10-21' '2015-10-22' '2015-10-23' '2015-10-26'
'2015-10-27' '2015-10-28' '2015-10-29' '2015-11-02' '2015-11-03'
'2015-11-04' '2015-11-05' '2015-11-06' '2015-11-09' '2015-11-10'
'2015-11-11' '2015-11-12' '2015-11-13' '2015-11-16' '2015-11-17'
'2015-11-18' '2015-11-19' '2015-11-20' '2015-11-23' '2015-11-24'
'2015-11-25' '2015-11-26' '2015-11-27' '2015-12-01' '2015-12-02'
'2015-12-03' '2015-12-04' '2015-12-07' '2015-12-09' '2015-12-10'
'2015-12-11' '2015-12-14' '2015-12-15' '2015-12-16' '2015-12-17'
'2015-12-18' '2015-12-21' '2015-12-22' '2015-12-23' '2015-12-24'
'2015-12-28' '2015-12-29' '2015-12-30' '2016-01-04' '2016-01-05'
'2016-01-07' '2016-01-08' '2016-01-11' '2016-01-12' '2016-01-13'
'2016-01-14' '2016-01-15' '2016-01-18' '2016-01-19' '2016-01-20'
'2016-01-21' '2016-01-22' '2016-01-25' '2016-01-26' '2016-01-27'
'2016-01-28' '2016-02-01' '2016-02-02' '2016-02-03' '2016-02-04'
'2016-02-05' '2016-02-08' '2016-02-09' '2016-02-10' '2016-02-11'
'2016-02-12' '2016-02-15' '2016-02-16' '2016-02-17' '2016-02-18'
'2016-02-19' '2016-02-22' '2016-02-23' '2016-02-24' '2016-02-25'
'2016-02-26' '2016-03-01' '2016-03-02' '2016-03-03' '2016-03-04'
'2016-03-07' '2016-03-08' '2016-03-09' '2016-03-10' '2016-03-11'
'2016-03-14' '2016-03-15' '2016-03-16' '2016-03-17' '2016-03-18'
'2016-03-21' '2016-03-22' '2016-03-23' '2016-03-24' '2016-03-28'
'2016-03-29' '2016-03-30' '2016-04-01' '2016-04-04' '2016-04-05'
'2016-04-06' '2016-04-07' '2016-04-08' '2016-04-11' '2016-04-12'
'2016-04-13' '2016-04-14' '2016-04-15' '2016-04-18' '2016-04-19'
'2016-04-20' '2016-04-21' '2016-04-22' '2016-04-25' '2016-04-26'
'2016-04-27' '2016-04-28' '2016-05-02' '2016-05-03' '2016-05-04'
'2016-05-05' '2016-05-06' '2016-05-09' '2016-05-10' '2016-05-11'
'2016-05-12' '2016-05-13' '2016-05-16' '2016-05-17' '2016-05-18'
'2016-05-19' '2016-05-20' '2016-05-23' '2016-05-24' '2016-05-25'
'2016-05-26' '2016-05-27' '2016-05-30' 'nan']
--------------------------------------------------
# col indrel_1mes, n_uniq 10, uniq ['1' '1.0' '2' '2.0' '3' '3.0' '4' '4.0' 'P' 'nan']
--------------------------------------------------
# col tiprel_1mes, n_uniq 6, uniq ['A' 'I' 'N' 'P' 'R' 'nan']
--------------------------------------------------
# col indresi, n_uniq 3, uniq ['N' 'S' 'nan']
--------------------------------------------------
# col indext, n_uniq 3, uniq ['N' 'S' 'nan']
--------------------------------------------------
# col conyuemp, n_uniq 3, uniq ['N' 'S' 'nan']
--------------------------------------------------
# col canal_entrada, n_uniq 163, uniq ['004' '007' '013' '025' 'K00' 'KAA' 'KAB' 'KAC' 'KAD' 'KAE' 'KAF' 'KAG'
'KAH' 'KAI' 'KAJ' 'KAK' 'KAL' 'KAM' 'KAN' 'KAO' 'KAP' 'KAQ' 'KAR' 'KAS'
'KAT' 'KAU' 'KAV' 'KAW' 'KAY' 'KAZ' 'KBB' 'KBD' 'KBE' 'KBF' 'KBG' 'KBH'
'KBJ' 'KBL' 'KBM' 'KBN' 'KBO' 'KBP' 'KBQ' 'KBR' 'KBS' 'KBU' 'KBV' 'KBW'
'KBX' 'KBY' 'KBZ' 'KCA' 'KCB' 'KCC' 'KCD' 'KCE' 'KCF' 'KCG' 'KCH' 'KCI'
'KCJ' 'KCK' 'KCL' 'KCM' 'KCN' 'KCO' 'KCP' 'KCQ' 'KCR' 'KCS' 'KCT' 'KCU'
'KCV' 'KCX' 'KDA' 'KDB' 'KDC' 'KDD' 'KDE' 'KDF' 'KDG' 'KDH' 'KDI' 'KDL'
'KDM' 'KDN' 'KDO' 'KDP' 'KDQ' 'KDR' 'KDS' 'KDT' 'KDU' 'KDV' 'KDW' 'KDX'
'KDY' 'KDZ' 'KEA' 'KEB' 'KEC' 'KED' 'KEE' 'KEF' 'KEG' 'KEH' 'KEI' 'KEJ'
'KEK' 'KEL' 'KEM' 'KEN' 'KEO' 'KEQ' 'KES' 'KEU' 'KEV' 'KEW' 'KEY' 'KEZ'
'KFA' 'KFB' 'KFC' 'KFD' 'KFE' 'KFF' 'KFG' 'KFH' 'KFI' 'KFJ' 'KFK' 'KFL'
'KFM' 'KFN' 'KFP' 'KFR' 'KFS' 'KFT' 'KFU' 'KFV' 'KGC' 'KGN' 'KGU' 'KGV'
'KGW' 'KGX' 'KGY' 'KHA' 'KHC' 'KHD' 'KHE' 'KHF' 'KHK' 'KHL' 'KHM' 'KHN'
'KHO' 'KHP' 'KHQ' 'KHR' 'KHS' 'RED' 'nan']
--------------------------------------------------
# col indfall, n_uniq 3, uniq ['N' 'S' 'nan']
--------------------------------------------------
# col nomprov, n_uniq 53, uniq ['ALAVA' 'ALBACETE' 'ALICANTE' 'ALMERIA' 'ASTURIAS' 'AVILA' 'BADAJOZ'
'BALEARS, ILLES' 'BARCELONA' 'BIZKAIA' 'BURGOS' 'CACERES' 'CADIZ'
'CANTABRIA' 'CASTELLON' 'CEUTA' 'CIUDAD REAL' 'CORDOBA' 'CORUÑA, A'
'CUENCA' 'GIPUZKOA' 'GIRONA' 'GRANADA' 'GUADALAJARA' 'HUELVA' 'HUESCA'
'JAEN' 'LEON' 'LERIDA' 'LUGO' 'MADRID' 'MALAGA' 'MELILLA' 'MURCIA'
'NAVARRA' 'OURENSE' 'PALENCIA' 'PALMAS, LAS' 'PONTEVEDRA' 'RIOJA, LA'
'SALAMANCA' 'SANTA CRUZ DE TENERIFE' 'SEGOVIA' 'SEVILLA' 'SORIA'
'TARRAGONA' 'TERUEL' 'TOLEDO' 'VALENCIA' 'VALLADOLID' 'ZAMORA' 'ZARAGOZA'
'nan']
--------------------------------------------------
# col segmento, n_uniq 4, uniq ['01 - TOP' '02 - PARTICULARES' '03 - UNIVERSITARIO' 'nan']
목적
이 경진대회에서 에측해야하는 값은 고객이 신규로 구매할 제품 이다.
아래는 월별 고객의 제품 구매 여부를 나타내는 24개의 변수이며, 0과 1로 이루어진 이진 변수이다.
우리는 신규 구매을 예측하는 것이 목적이기에, 신규 구매에 대한 월별 추이를 나타는 그래프가 필요하다고 생각된다.
24 ind_ahor_fin_ult1 int64
25 ind_aval_fin_ult1 int64
26 ind_cco_fin_ult1 int64
27 ind_cder_fin_ult1 int64
28 ind_cno_fin_ult1 int64
29 ind_ctju_fin_ult1 int64
30 ind_ctma_fin_ult1 int64
31 ind_ctop_fin_ult1 int64
32 ind_ctpp_fin_ult1 int64
33 ind_deco_fin_ult1 int64
34 ind_deme_fin_ult1 int64
35 ind_dela_fin_ult1 int64
36 ind_ecue_fin_ult1 int64
37 ind_fond_fin_ult1 int64
38 ind_hip_fin_ult1 int64
39 ind_plan_fin_ult1 int64
40 ind_pres_fin_ult1 int64
41 ind_reca_fin_ult1 int64
42 ind_tjcr_fin_ult1 int64
43 ind_valo_fin_ult1 int64
44 ind_viv_fin_ult1 int64
45 ind_nomina_ult1 float64
46 ind_nom_pens_ult1 float64
47 ind_recibo_ult1 int64
댓글