Professional Documents
Culture Documents
Sophie Tan
Maplesoft
Introduction
Forest fires are devastating, and can rage out of control. The 2017 forest fires in
British Columbia, for example, compelled thousands to escape, burned 1.2 million
hectares of forest, and caused more than CAD $500 million in damage. Moreover,
pollution from the fires caused respiratory problems for people living hundreds of
kilometers away.
Predicting the source and spread of forest fires could have considerable benefits for
human health and life, the economy and the environment. This could help identify
areas with higher risk - for example, with limited resource, the authorities could
choose to focus on monitoring specific areas.
Many techniques have been developed, including approaches that use satellite
images, historical weather data and computational fluid dynamics.
The advent of high-power, low-cost computing has heralded the use of machine
learning and neural networks for predicting forest fires. Machine learning can see
trends and patterns that humans often overlook; in fact, this approach is gaining
recent media attention.
The forest fires data set from the UCI Machine Learning Repository (attached to this
workbook) records several observations (from the northeast region of Portugal)
against the burnt area of a forest fire. The contents of the data file are described
here.
The Month and Day columns from the original dataset are not considered in
this application.
The first 10 columns are continuous, numerical indices that characterize each
forest fire occurrence (location, meteorological data, etc) . The last column is
the burnt area in hectare.
The donator of the dataset suggests performing a log transformation to reduce the
skew towards 0. However, this application uses the original data.
Import Data
> restart;
> train_data := Import("this:///forestfires_train.csv");
(2.1)
(2.1)
(2.2)
(3.1)
Above we have built a predictor function that takes an arbitrary set of measurements
as a DataSeries and returns a prediction generated by the trained DNN regressor.
Now we can pass the predictor a set of values that represent a hypothetical forest fire
that starts at a given location under a given set of weather conditions, and use it to
predict the burnt area of said forest fire.
> ds := DataSeries([4,4,88.1,25.7,67.6,3.8,14.1,43,2.7,0], labels=
cols):
> predictor(ds);
(4.2)
The prediction suggests that a forest fire with the given traits (location, weather, etc)
will have a burnt area of ~3.96 ha according to our regression model.