---
# System prepended metadata

title: ESUN-MACHINE-LEARNING-PROJECT

---

# ESUN-MACHINE-LEARNING-PROJECT
![](https://i.imgur.com/jiQSGMQ.png)
![](https://i.imgur.com/RqtTjRF.png)

## 目標：預測出顧客接下來消費金額前三名
- Input顧客過去刷卡、基本資料後，便可預期該客戶下一期消費前三名類別(16種)。

### EDA

- **匯入資料**
(1) 每個row為客戶於特定月份刷卡資訊。
(2) 共有約2200萬筆
![](https://i.imgur.com/tIvr2Ej.png)
![](https://i.imgur.com/cLMUHKZ.png)

- **Data Description**

|colume name |Meaning| Description |
|------------|---|-------------|
|dt          |消費月份|categorical data(1~24)|
|chid        |顧客編號|-          |
|shop_tag    |消費類別|categorical data(1~48, other)|
|txn_cnt     |消費次數|int          |
|txn_amt     |消費金額|int          |
|domestic_offline_cnt|國內線下消費次數|int|
|domestic_online_cnt|國內線上消費次數|int|
|overseas_offline_cnt|海外線下消費次數|int|
|overseas_online_cnt|海外線上消費次數|int|
|domestic_offline_amt_pct|國內線下消費金額占比|int|
|domestic_online_amt_pct|國內線上消費金額占比|int|
|overseas_offline_amt_pct|海外線下消費金額占比|int|
|overseas_online_amt_pct|海外線上消費金額占比|int|
|card_1_txn_cnt|信用卡1消費次數|int|
|card_2_txn_cnt|信用卡2消費次數|int|
|card_3_txn_cnt|信用卡3消費次數|int|
|card_4_txn_cnt|信用卡4消費次數|int|
|card_5_txn_cnt|信用卡5消費次數|int|
|card_6_txn_cnt|信用卡6消費次數|int|
|card_7_txn_cnt|信用卡7消費次數|int|
|card_8_txn_cnt|信用卡8消費次數|int|
|card_9_txn_cnt|信用卡9消費次數|int|
|card_10_txn_cnt|信用卡10消費次數|int|
|card_11_txn_cnt|信用卡11消費次數|int|
|card_12_txn_cnt|信用卡12消費次數|int|
|card_13_txn_cnt|信用卡13消費次數|int|
|card_14_txn_cnt|信用卡14消費次數|int|
|card_other_txn_cnt|其他信用卡消費次數|int|
|card_1_txn_amt_pct|信用卡1消費金額占比|float|
|card_2_txn_amt_pct|信用卡2消費金額占比|float|
|card_3_txn_amt_pct|信用卡3消費金額占比|float|
|card_4_txn_amt_pct|信用卡4消費金額占比|float|
|card_5_txn_amt_pct|信用卡5消費金額占比|float|
|card_6_txn_amt_pct|信用卡6消費金額占比|float|
|card_7_txn_amt_pct|信用卡7消費金額占比|float|
|card_8_txn_amt_pct|信用卡8消費金額占比|float|
|card_9_txn_amt_pct|信用卡9消費金額占比|float|
|card_10_txn_amt_pct|信用卡10消費金額占比|float|
|card_11_txn_amt_pct|信用卡11消費金額占比|float|
|card_12_txn_amt_pct|信用卡12消費金額占比|float|
|card_13_txn_amt_pct|信用卡13消費金額占比|float|
|card_14_txn_amt_pct|信用卡14消費金額占比|float|
|card_other_txn_amt_pct|其他信用卡消費金額占比|float|
|masts|婚姻狀態|categorical data(1,3)|
|educd|教育程度|categorical data(1,6)|
|trdtp|行業別|categorical data(1,29)|
|naty|國籍別|categorical data(1,2)|
|poscd|職位別|categorical data(1,10),99|
|cuorg|客戶來源|categorical data(30)|
|slam|信用卡額度|float|
|gender_code|性別|categorical data(0,1)|
|age|年齡層|categorical data(1,9)|
|primary_card|主副卡|categorical data(0,1)|



- **簡單統計量**
(1) 在slam(信用卡額度部分最大值近乎無限)
(2) 國內外海外交易皆有負值
(3) 客戶來源cuorg幾乎皆相同(25%~75%皆為category : 3)
![](https://i.imgur.com/D5on0iT.png)
- **個變數間相關係數熱力圖**
(1) **左上**區塊相關相較明顯
(2) **右下**區塊相關相較不明顯
![](https://i.imgur.com/0svSqJj.png)


- 特定區間（左上）
![](https://i.imgur.com/MFKVXZh.png)

(3) 消費類別(shot_tag)與消費屬性(國內、海外、線上、實體)及信用卡類別(card 1~14, other)無明顯相關
(4) 信用卡1&6與消費次數(txn_cnt)有正相關
(5) 信用卡1&6與國內線上消費次數(domestic_online_cnt)有正相關
(6) 信用卡4與國內實體消費次數(domestic_offline_cnt)有正相關
(7) 信用卡13與海外實體消費次數(overseas_offline_cnt)有些微正相關

- 特定區間（右下）
![](https://i.imgur.com/qSrXYzr.png)

(8) 個資部分無明顯相關, 僅婚姻(masts)與年齡(age)呈現較明顯負相關


#### 消費類別 v.s. 基本資料

##### (1)消費類別 v.s.性別
![](https://i.imgur.com/gTSUCAy.png)
##### (1)消費類別 v.s.年齡
![](https://i.imgur.com/NEMJphw.png)
##### (1)消費類別 v.s.婚姻
![](https://i.imgur.com/8HA7dff.png)
##### (1)消費類別 v.s.教育
![](https://i.imgur.com/LitGvt3.png)
##### (1)消費類別 v.s.職位別
![](https://i.imgur.com/ZdnJBUw.png)
##### (1)消費類別 v.s.行業別
![](https://i.imgur.com/kYoD0gJ.png)

#### 國內外線上下刷卡次數
- 值為負原因：**刷退**
![](https://i.imgur.com/7bZjqYm.jpg)
#### 各個類別中不同信用卡的消費次數加總
- X軸:卡片別（1~14）
- Y軸：該類別消費次數加總
- 卡片1,2,4,6在各消費類別消費次數較多
![](https://i.imgur.com/qZgBugd.png)
![](https://i.imgur.com/ZXH7wmi.png)
![](https://i.imgur.com/j1yKr1t.png)
![](https://i.imgur.com/9CWqX5A.png)
#### 消費類別 v.s. 顧客平均信用卡額度
- X軸 :不同的消費類別
- Y軸 : 平均信用卡額度=該消費類別顧客信用卡額度加總/消費次數
資料為刪去極端值後的資料
極端值取為五百萬以上，約佔所有資料的1%
從顧客的平均信用卡額度看不出不同類別間有特別明顯的趨勢。
![](https://i.imgur.com/srAGTFe.png)





#### 消費類別 v.s. 消費金額
- X軸 : 平均消費金額 = 消費金額/消費次數
- Y軸 : 指定類別平均消費金額分佈(bins = 1,000)
##### Processes
1. 取16個指定類別的消費資料做資料分析, 共計22,130,579筆.
2. 出現消費次數(txn_cnt)為0或負值,但消費金額(txn_amt)為正的資料. 將消費次數(txn_cnt)取絕對值為調整後消費次數(adj_txn_cnt).
3. 刪除共計52,041筆調整後刷卡次數(adj_txn_cnt)為0的資料.
4. 計算平均消費金額(Amt_mean) = 消費金額(txn_amt)/調整後消費次數(adj_txn_cnt).
5. 刪除共計514筆平均消費金額(Amt_mean)>100,000的資料.
6. 對消費類別(shop_tag)分群, 繪製histogram.
![](https://i.imgur.com/fBUr8Ds.png)
![](https://i.imgur.com/P3Peatt.png)
![](https://i.imgur.com/01xGl5T.png)
![](https://i.imgur.com/FM9qHHp.png)
##### Features
1. 平均消費金額集中於0~10,000, 大多數資料平均消費金額<20,000. 無觀察出消費類別與消費金額有明顯關係, 僅消費類別26, 39有較高資料比例消費金額>20,000.
2. 消費類別10, 15, 36, 37資料筆數較多, 類別13, 21, 22, 25, 26資料筆數較少. 可能隱含不同產品受客戶歡迎程度之差異.

---

### Benchmark Model（Ing....）

#### (一) Logistic Regression
- 針對十六個類別分別建置Logistic回歸，藉此可得客戶消費16種商品之機率。
- 對機率做加權平均，代筆該客戶對該類別之「消費比重」
- 取得該客戶對於16種類別日前消費平均金額，乘上比重後，就可計算「前三名類別」
#### (二) Multinomial Logistic Regression
- 概念與Logistic類似，但在模型數量上縮減。

#### (三) Change Dimension of Data and Logistic Regrssion
- 在此資料中，單一顧客在同一類別的消費上，會隨時間有多筆資料。
- 上述模型會遇到不知道該丟入哪一期資料的問題。
- 為解決問題，思考將顧客「各類別」「每期」資料壓縮至一筆(每位顧客共16筆)
- 藉此，在預測時只需丟入該顧客過去各期所有資料，方得進行預測。