爱数科案例 | 森林火灾面积预测

2022-03-30 17:19:17 浏览数 (1)

森林火灾是一种突发性强、破坏性大、处置救助较为困难的自然灾害。森林火灾不仅烧毁林木,直接减少森林面积,而且严重破坏森林结构和森林环境,导致森林生态系统失去平衡,森林生物量下降,生产力减弱,益兽益鸟减少,甚至造成人畜伤亡。本案例通过探索性分析(EDA)和机器学习构建线性回归模型,预测森林火灾的面积,并分析什么特征是发生森林火灾的重要因素

1. 读数据表

首先,我们读取原始数据。

2. 数据字段基本统计信息

查看数据的基本统计信息。

从输出结果可以看出,该数据集一共有517条数据,包含13个变量,不存在缺失值。注意到month和day这两个特征不是数值型的数据

3. 火灾面积分布直方图

我们采用更直观的方法,将数据集中火灾面积这一列的数据通过直方图和箱线图进行展示,来查看数据的分布情况:

4. 火灾面积分布箱线图

从上图中我们可以看出,数据主要分布在0~200之间,但也有少量数据大于600,area数据中存在一些离群点。

5. 删除火灾面积大于600的离群点

下面我们集中对刚刚发现的问题进行处理。首先,我们将数据集中火灾面积大于600的离群点去掉:

6. 月份和星期OneHot编码

7. 筛选火灾面积大于0的数据

处理完毕后,我们将火灾面积大于0的数据筛选出来,查看火灾发生的面积与FWI系统的FFMC指数、DMC指数、DC指数、ISI指数之间的关系。

8. MinMax标准化

我们使用MinMaxScaler方法,对数据集中除了X、Y、month、day之外的列做MinMax标准化,使得处理后的数据取值分布在[0,1]区间上。

9. 火灾面积与DMC散点图

我们分别绘制火灾发生的面积与DMC指数、DC指数、ISI指数、FFMC指数之间的散点图:

10. 火灾面积与DC散点图

11. 火灾面积与ISI散点图

12. 火灾面积与FFMC散点图

从上面的散点图中,我们发现火灾发生的面积与FFMC指数、DMC指数、DC指数、ISI指数之间并没有明显的相关性

13. 训练/测试集划分

在训练模型之前需要将数据集划分为训练集和测试集,用训练集训练模型,用测试集评估模型。其中训练集占80%,测试集占20%:

14. 线性回归

我们使用线性回归训练模型,以下是训练好的模型的系数和截距:

15. 模型预测

然后用训练的模型在测试集上进行火灾面积的预测,预测结果保存为area_predict。

16. 回归模型评估

最后进行模型评估,输出均方误差、平均绝对误差、决定系数和中位绝对误差。

0 人点赞