机器之心报道
机器之心编辑部
数据挖掘类比赛必备模型,四种实现方法,你值得拥有。
数据科学竞赛是学习各类算法、深入理解数据科学、提升和挑战自己的绝佳机会,而这些竞赛中有一些常用的模型。
近日,有开发者在 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 多类别不平衡问题,实现类别加权优化
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,做回归任务
环境设置
可以直接通过 pip install -r requirements.txt 安装指定的函数包,具体的函数包如下:
代码语言:javascript复制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 做分类与回归任务代码。
项目作者对项目的各部分进行了详细的解读,具体参考以下内容:
参考链接:
https://mp.weixin.qq.com/s/t6EpWmLWP81DcJ7AUro3Ng
https://mp.weixin.qq.com/s/Td0Vrx9YO5rEn66L4C42Zw
https://mp.weixin.qq.com/s/XaB1BsLL_Va7dGL0S0rUOQ
https://zhuanlan.zhihu.com/p/80381974
2020 NeurIPS MeetUp