lightgbm的LGBMClassifier,如何对鸢尾花数据集进行预测?
发布于 作者:苏南大叔 来源:程序如此灵动~

继上一个XGBoost
之后,这里再次迎来一个没有收录在sklearn
里面的预测模型:来自microsoft
的LightGBM
。很厉害是吧?其实使用方式上,还是一样的非常简单,和其它的模型的使用方法上基本相同。但是,需要设置默认参数才能避免输出很多警告信息,这可能是其特殊的地方。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码感想感悟。本文测试环境:win10
,python@3.12.0
,pandas@2.1.3
,scikit-learn@1.3.2
,LightGBM@4.1.0
。
LightGBM
LightGBM
目前由微软维护,根正苗红。参考链接:

官方页面的介绍文字:
LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed and efficient with the following advantages:
- Faster training speed and higher efficiency.
- Lower memory usage.
- Better accuracy.
- Support of parallel, distributed, and GPU learning.
- Capable of handling large-scale data.
LightGBM
依然是没有集成在sklearn
里面的。所以,依然需要单独安装。
本文还是使用这个LightGBM
来处理一下鸢尾花数据集。看看效果如何。
加载鸢尾花数据集
老生常谈部分,代码如下:
不明白的读者,可以参考下面的文章:
- https://newsn.net/say/sklearn-load_iris.html
- https://newsn.net/say/sklearn-csv.html
- https://newsn.net/say/sklearn-train_test_split.html
LGBMClassifier模型预测
输出:

可能存在的问题
在这个部分,LGBMClassifier
是存在着一些特殊情况的。如果不设置参数的话,它处理鸢尾花数据集的时候,会有一些警告信息输出的。比如:
它的解决方案是,设置参数:
verbose=-1
,抑止错误输出。num_threads=2
,设置线程数量,这个和测试机的cpu
是几核的有关。大家就根据实际情况设置吧。

模型评估
模型得分这部分也是固定套路,套公式感十足。本文就用最新研究的.classification_report()
来做评测吧。
输出:
对于这个结果,解释说明,可以参考文章:
结语
机器学习,全称machine learning
,简称ml
。链接:


