1.5 竞赛常用工具
1.IDE
图1.7为2022年Kaggle官方调查了约24000名参加数据挖掘竞赛的选手使用各种常见IDE工具的人数情况。统计结果显示,使用人数排行前三的IDE工具依次为Jupyter Notebook、VSCode以及PyCharm。
图1.7 2022年Kaggle参赛选手使用IDE工具的情况
1)Jupyter Notebook
Jupyter Notebook是一个基于网页的应用,它支持交互式计算环境,允许用户进行代码开发、执行,以及文档的撰写和结果的可视化。
2)VSCode
VScode是微软推出的一款代码编辑器,可以支持多种编程语言,具有语法高亮、自动补全、调试等功能。它还有许多可以安装的插件,可以帮助选手更方便地编写代码。
3)PyCharm
PyCharm是一款由JetBrains开发的Python集成开发环境(IDE),集成了众多实用的功能,包括代码自动完成、语法高亮、调试以及版本控制等,可以帮助你更高效地开发Python应用程序。
2.机器学习库
图1.8为2022年Kaggle官方调查使用各种常见机器学习库的使用人数情况。统计结果显示,使用Scikit-learn的人数遥遥领先,除此之外,使用人数较多的是常用的实现梯度提升决策树的机器学习框架XGBoost、LightGBM以及CatBoost。
图1.8 2022年Kaggle参赛用户使用机器学习库情况
1)Scikit-learn
Scikit-learn是一个广泛使用的开源机器学习库,支持众多常见的机器学习算法,包括但不限于回归、分类、聚类和降维等。同时,它为用户提供了简洁且一致的接口来使用这些算法模型。
2)XGBoost、LightGBM、CatBoost
XGBoost、LightGBM和CatBoost是三个常用的梯度提升决策树的实现框架,尤其适用于结构化数据场景。这三者有其各自的优势和特点:XGBoost起源最早,在早期的结构化数据挖掘竞赛中被广泛使用;LightGBM强调的是轻量级,能在更短的时间内获得不错的效果;CatBoost对类别型变量做了特殊优化,在某些场景下可以获得更好的结果。
3.深度学习库
图1.9为2022年Kaggle官方调查使用各种常见深度学习库的人数。统计结果显示,TensorFlow、Keras以及PyTorch仍然是最受欢迎的三大主流深度学习框架。
图1.9 2022年Kaggle参赛用户使用深度学习库情况
1)TensorFlow
TensorFlow是由谷歌开源的深度学习框架,可以让选手快速地设计深度学习网络,而不需要编写底层CUDA或C++代码。TensorFlow在代码的简洁性、执行效率、部署的便利性等方面都有着非常优异的表现。
2)Keras
相比于TensorFlow,Keras是一个更高层的API。Keras对深度学习的初学者非常友好,通过Keras的API,用户仅需数行代码就可以构建一个便于理解的网络模型。目前,Keras已经被集成到TensorFlow中,在TensorFlow.keras上可以完成Keras的所有任务。
3)PyTorch
PyTorch是由Facebook人工智能研究院开源的深度学习框架。因其具有接口灵活、使用简单、快速等特性,现已成为学术界主流的深度学习框架,除了谷歌,其他大部分关于深度学习模型的文章都是使用PyTorch进行实验的。
4.可视化库
图1.10为2022年Kaggle参赛选手使用可视化库的人数统计,可以看出,最受欢迎的前三个可视化库分别为Matplotlib、Seaborn、Plotly。
图1.10 2022年Kaggle参赛选手使用可视化库情况
1)Matplotlib
Matplotlib是Python数据可视化库的元老,目前依旧是Python社区中使用最广泛的绘图库,通过简单的几行代码,便能生成各种所需的图形。
2)Seaborn
Seaborn是在Matplotlib的基础上,进行更高级的封装,相比Matplotlib,Seaborn提供了更加简洁的语法,使选手更加容易上手,绘制的图形更加漂亮。
3)Plotly
Plotly是一个提供数据可视化功能的平台,它的强项在于实现交互式制图,图表种类齐全,并可以实现在线分享以及开源。