已完成工作:
使用python
建立 會員個性矩陣(from binary code)
建立 成為VIP前後購買產品矩陣
繪製 會員註冊至第一次付款所需時間圖表
目前工作為:
運用個性矩陣推估會員成為VIP之可能性,先以decision tree 進行分析。
Decision tree:
決策樹是常見的監督式機器學習演算法,類別與連續變數皆適用,選取最有利的區分變數來將資料進行二元分類。
基本元素:
Root Node:代表原始資料的點(根節點)
Splitting:將節點開始分為子節點
Decision Node:根節點開始分枝後的節點
Leaf/Termial Node:當節點不需再分枝,即為葉或是終結點
決策樹很容易有overfitting的情形發生,因此控制fit的變數就變得很重要。
- Minimum sample split:用來控制overfit,決定一個node至少要存在幾個sample,若沒有設定,容易產生overfit的問題,但是設定過高則會有underfit的問題。
- Minimum sample for leaf:最終葉子裡至少要存在幾個sample。通常如果是較不平均的分類問題,其值設定建議較低。
- Maximum depth tree:樹的最深為多少
- Maximum number of leaf:樹深若為n,則葉子為2^n個
這次的實作,第一次遇到了inbalance的問題。簡單來說,當應變數為類別變數時(0或1)
很容易遇到0特別多或是1特別多的情形,像是疾病的分析,健康的為0,患病的為1,在選取樣本的時候,就很容易遇到非常多健康的樣本,患病的樣本則很少。
遇到這樣的問題時,運用undersampling就可以解決,也可以順利的跑出合理的決策樹結果。

沒有留言:
張貼留言