# Wind Turbine (Spark Demo)

![wind-farm](images/wind-farm.jpg)

Welcome! In this experiment we delve into the world of wind turbines
and harness the power of machine learning to predict their energy production!
In this demonstration, we will be using Spark to explore the training dataset
and train a Gradient-Boosted Tree (GBT) regressor that will utilize various
features, such as wind speed and direction, to estimate the power output of a
wind turbine.

Wind turbines hold tremendous potential as a sustainable source of energy,
capable of supplying a substantial portion of the world's power needs. However,
the inherent unpredictability of power generation poses a challenge when it
comes to optimizing this process.

Fortunately, we have a powerful tool at our disposal: machine learning. By
leveraging advanced algorithms and data analysis, we can develop models that
accurately predict the power production of wind turbines. This enables us to
optimize the power generation process and overcome the challenges associated
with its ingrained variability.

## What You'll Need

To complete the tutorial follow the steps below:

1. Login to you EzAF cluster.
1. Create a new notebook server using the `jupyter-data-science` image.
1. Clone the repository locally.
1. Launch the `wind-turbine.ipynb` notebook file and follow the instructions.

> It is recommended to create a Notebook server with more than 3Gi of memory

> If you created your notebook server using the `jupyter-data-science` image
> you should be good to go. However, you can always create a separate conda
> environment for this tutorial using the provided `environment.yaml` file.
> To create a separate enviroment run `conda env create -f environment.yaml`.


