二分類、多分類、回歸任務,一個項目get競賽必備模型
數據挖掘類比賽必備模型,四種實現方法,你值得擁有。
數據科學競賽是學習各類算法、深入理解數據科學、提升和挑戰(zhàn)自己的絕佳機會,而這些競賽中有一些常用的模型。
近日,有開發(fā)者在 GitHub 上開源了一個包含數據挖掘類比賽常用模型的項目,主要涵蓋二分類、多分類以及回歸任務。項目代碼全部使用 Python 實現。
項目地址:https://github.com/QLMX/data_mining_models
該項目包含二分類模型、多分類模型以及回歸模型,它們分別基于 lightgbm 實現、xgboost 實現、keras 實現和 pytorch 實現:
lightgbm
- binary_class.py :lightgbm 實現的二分類
- multi_class.py :lightgbm 實現的多分類
- regression.py :lightgbm 實現的回歸
- multi_class_custom_feval.py :lightgbm 自定義評價函數實現多分類
- multi_class_weight_loss.py :lightgbm 多類別不平衡問題,實現類別加權優(yōu)化
xgboost
- binary_class.py :xgboost 實現的二分類
- multi_class.py :xgboost 實現的多分類
- regression.py :xgboost 實現的回歸
keras 實現的 mlp
- binary_class.py :keras 實現的 mlp,做二分類任務
- multi_class.py :keras 實現的 mlp,做多分類任務
- regression.py :keras 實現的 mlp,做回歸任務
pytorch 實現的 mlp
- binary_class.py :pytorch 實現的 mlp,做二分類任務
- multi_class.py :pytorch 實現的 mlp,做多分類任務
- regression.py :實現的 mlp,做回歸任務
環(huán)境設置
可以直接通過 pip install -r requirements.txt 安裝指定的函數包,具體的函數包如下:
- pandas
- numpy
- matplotlib
- sklearn
- tensorflow==1.12.0
- keras==2.2.4
- pytorch
- seaborn
- lightgbm==2.2.1
- xgboost==0.90
項目解讀
第一部分 lightgbm 的數據是基于拍拍貸比賽截取的一部分特征,隨機選擇了 5000 個訓練數據,3000 個測試數據。針對其中 gender、cell_province 等類別特征,直接進行重新編碼處理。
第二部分又基于 xgboost 實現了二分類、多分類和回歸任務。
第三、四部分是深度網絡部分,是基于 keras 實現的多層感知機網絡 (mlp)。pytorch 主要用于圖像處理任務,在數據挖掘類比賽中很少用到,但該項目整理了基于 pytorch 實現的 mlp 做分類與回歸任務代碼。
項目作者對項目的各部分進行了詳細的解讀,具體參考以下內容: