0基礎入門金融風控的 Task4 建模調參
建模與調參
此部分為零基礎入門金融風控的 Task4 建模調參部分,帶你來了解各種模型以及模型的評價和調參策略,歡迎大家後續多多交流。
賽題:零基礎入門資料探勘 - 零基礎入門金融風控之貸款違約預測
專案地址:https://github.com/datawhalechina/team-learning-data-mining/tree/master/FinancialRiskControl
比賽地址:https://tianchi.aliyun.com/competition/entrance/531830/introduction
4.1學習目標
- 學習在金融分控領域常用的機器學習模型
- 學習機器學習模型的建模過程與調參流程
- 完成相應學習打卡任務
4.2 內容介紹
-
邏輯迴歸模型:
- 理解邏輯迴歸模型;
- 邏輯迴歸模型的應用;
- 邏輯迴歸的優缺點;
-
樹模型:
- 理解樹模型;
- 樹模型的應用;
- 樹模型的優缺點;
-
整合模型
- 基於bagging思想的整合模型
- 隨機森林模型
- 基於boosting思想的整合模型
- XGBoost模型
- LightGBM模型
- CatBoost模型
- 基於bagging思想的整合模型
-
模型對比與效能評估:
- 迴歸模型/樹模型/整合模型;
- 模型評估方法;
- 模型評價結果;
-
模型調參:
-貪心調參方法;-網格調參方法;
-貝葉斯調參方法;
4.3 模型相關原理介紹
由於相關演算法原理篇幅較長,本文推薦了一些部落格與教材供初學者們進行學習。
-
4.3.1 邏輯迴歸模型
https://blog.csdn.net/han_xiaoyang/article/details/49123419 -
4.3.2 決策樹模型
https://blog.csdn.net/c406495762/article/details/76262487 -
4.3.3 GBDT模型
https://zhuanlan.zhihu.com/p/45145899 -
4.3.4 XGBoost模型
https://blog.csdn.net/wuzhongqiang/article/details/104854890 -
4.3.5 LightGBM模型
https://blog.csdn.net/wuzhongqiang/article/details/105350579 -
4.3.6 Catboost模型
https://mp.weixin.qq.com/s/xloTLr5NJBgBspMQtxPoFA -
4.3.7 時間序列模型(選學)
RNN:https://zhuanlan.zhihu.com/p/45289691
LSTM:https://zhuanlan.zhihu.com/p/83496936
- 4.3.8 推薦教材:
《機器學習》 https://book.douban.com/subject/26708119/
《統計學習方法》 https://book.douban.com/subject/10590856/
《面向機器學習的特徵工程》 https://book.douban.com/subject/26826639/
《信用評分模型技術與應用》https://book.douban.com/subject/1488075/
《資料化風控》https://book.douban.com/subject/30282558/
4.4 模型對比與效能評估
4.4.1 邏輯迴歸
-
優點
-
訓練速度較快,分類的時候,計算量僅僅只和特徵的數目相關;
-
簡單易理解,模型的可解釋性非常好,從特徵的權重可以看到不同的特徵對最後結果的影響;
-
適合二分類問題,不需要縮放輸入特徵;
-
記憶體資源佔用小,只需要儲存各個維度的特徵值;
-
缺點
-
邏輯迴歸需要預先處理缺失值和異常值【可參考task3特徵工程】;
-
不能用Logistic迴歸去解決非線性問題,因為Logistic的決策面是線性的;
-
對多重共線性資料較為敏感,且很難處理資料不平衡的問題;
-
準確率並不是很高,因為形式非常簡單,很難去擬合資料的真實分佈;
4.4.2 決策樹模型¶
-
優點
-
簡單直觀,生成的決策樹可以視覺化展示
-
資料不需要預處理,不需要歸一化,不需要處理缺失資料
-
既可以處理離散值,也可以處理連續值
-
缺點
-
決策樹演算法非常容易過擬合,導致泛化能力不強(可進行適當的剪枝)
-
採用的是貪心演算法,容易得到區域性最優解
4.4.3 整合模型整合方法(ensemble method)
通過組合多個學習器來完成學習任務,通過整合方法,可以將多個弱學習器組合成一個強分類器,因此整合學習的泛化能力一般比單一分類器要好。
整合方法主要包括Bagging和Boosting,Bagging和Boosting都是將已有的分類或迴歸演算法通過一定方式組合起來,形成一個更加強大的分類。兩種方法都是把若干個分類器整合為一個分類器的方法,只是整合的方式不一樣,最終得到不一樣的效果。常見的基於Baggin思想的整合模型有:隨機森林、基於Boosting思想的整合模型有:Adaboost、GBDT、XgBoost、LightGBM等。
Baggin和Boosting的區別總結如下:
- 樣本選擇上: Bagging方法的訓練集是從原始集中有放回的選取,所以從原始集中選出的各輪訓練集之間是獨立的;而Boosting方法需要每一輪的訓練集不變,只是訓練集中每個樣本在分類器中的權重發生變化。而權值是根據上一輪的分類結果進行調整
- 樣例權重上: Bagging方法使用均勻取樣,所以每個樣本的權重相等;而Boosting方法根據錯誤率不斷調整樣本的權值,錯誤率越大則權重越大
- 預測函式上: Bagging方法中所有預測函式的權重相等;而Boosting方法中每個弱分類器都有相應的權重,對於分類誤差小的分類器會有更大的權重
- 平行計算上: Bagging方法中各個預測函式可以並行生成;而Boosting方法各個預測函式只能順序生成,因為後一個模型引數需要前一輪模型的結果。
4.4.4 模型評估方法
對於模型來說,其在訓練集上面的誤差我們稱之為訓練誤差或者經驗誤差,而在測試集上的誤差稱之為測試誤差。
對於我們來說,我們更關心的是模型對於新樣本的學習能力,即我們希望通過對已有樣本的學習,儘可能的將所有潛在樣本的普遍規律學到手,而如果模型對訓練樣本學的太好,則有可能把訓練樣本自身所具有的一些特點當做所有潛在樣本的普遍特點,這時候我們就會出現過擬合的問題。
因此我們通常將已有的資料集劃分為訓練集和測試集兩部分,其中訓練集用來訓練模型,而測試集則是用來評估模型對於新樣本的判別能力。
- 對於資料集的劃分,我們通常要保證滿足以下兩個條件:
訓練集和測試集的分佈要與樣本真實分佈一致,即訓練集和測試集都要保證是從樣本真實分佈中獨立同分布取樣而得;
訓練集和測試集要互斥
-
對於資料集的劃分有三種方法:留出法,交叉驗證法和自助法,下面挨個介紹:
-
①留出法
留出法是直接將資料集D劃分為兩個互斥的集合,其中一個集合作為訓練集S,另一個作為測試集T。需要注意的是在劃分的時候要儘可能保證資料分佈的一致性,即避免因資料劃分過程引入額外的偏差而對最終結果產生影響。為了保證資料分佈的一致性,通常我們採用分層取樣的方式來對資料進行取樣。
Tips: 通常,會將資料集D中大約2/3~4/5的樣本作為訓練集,其餘的作為測試集。
- ②交叉驗證法
k折交叉驗證通常將資料集D分為k份,其中k-1份作為訓練集,剩餘的一份作為測試集,這樣就可以獲得k組訓練/測試集,可以進行k次訓練與測試,最終返回的是k個測試結果的均值。交叉驗證中資料集的劃分依然是依據分層取樣的方式來進行。
對於交叉驗證法,其k值的選取往往決定了評估結果的穩定性和保真性,通常k值選取10。
當k=1的時候,我們稱之為留一法
- ③自助法
我們每次從資料集D中取一個樣本作為訓練集中的元素,然後把該樣本放回,重複該行為m次,這樣我們就可以得到大小為m的訓練集,在這裡面有的樣本重複出現,有的樣本則沒有出現過,我們把那些沒有出現過的樣本作為測試集。
進行這樣取樣的原因是因為在D中約有36.8%的資料沒有在訓練集中出現過。留出法與交叉驗證法都是使用分層取樣的方式進行資料取樣與劃分,而自助法則是使用有放回重複取樣的方式進行資料取樣
- 資料集劃分總結
對於資料量充足的時候,通常採用留出法或者k折交叉驗證法來進行訓練/測試集的劃分;
對於資料集小且難以有效劃分訓練/測試集時使用自助法;
對於資料集小且可有效劃分的時候最好使用留一法來進行劃分,因為這種方法最為準確
打卡先佔坑,會補上後續
相關文章
- 零基礎入門金融風控-貸款違約預測-Task04——建模與調參
- 資料競賽入門-金融風控(貸款違約預測)四、建模與調參
- Datawhale零基礎入門金融風控 Task5 模型融合 打卡模型
- 零基礎入門金融風控之貸款違約預測—模型融合模型
- 零基礎入門金融風控之貸款違約預測挑戰賽——簡單實現
- CTF入門指南(0基礎)
- ERWin建模基礎教程(非常好的入門教程)
- 0基礎7日入門PythonPython
- 0基礎如何入門人工智慧?人工智慧
- 0基礎入門 IT,該具備哪些技能?
- 資料競賽入門-金融風控(貸款違約預測)五、模型融合模型
- 0基礎學習建模,3D次世代MAYA遊戲角色建模的方法3D遊戲
- vue 基礎入門筆記 17:路由傳參的兩種方式Vue筆記路由
- 0.開個新坑,湍流基礎理論入門
- RabbitMQ基礎入門MQ
- mongodb基礎入門MongoDB
- MySQL 基礎入門MySql
- ZooKeeper 基礎入門
- Elasticsearch 基礎入門Elasticsearch
- Vim 入門:基礎
- Bootstrap基礎入門boot
- Html基礎入門HTML
- ElasticSearch基礎入門Elasticsearch
- HTML 基礎入門HTML
- Dart 基礎入門Dart
- SQL入門基礎SQL
- Nginx 基礎入門Nginx
- Kafka基礎入門Kafka
- Redis入門基礎Redis
- Java 入門基礎Java
- Maven入門基礎Maven
- JavaScript入門基礎JavaScript
- SQL基礎入門SQL
- Zookeeper基礎入門
- goalng 基礎入門Go
- TypeScript 基礎入門TypeScript
- Mongoose基礎入門Go
- systemtap基礎入門