Logo Lanfrica

stevenzych/tanzanian_wells

Domaine:

environment and energy

Type de record:

project
Créateur:
ste
Hôte:
Testing multiple machine-learning algorithms to best predict potential water-well failure in Tanzania. # *Tanzanian Wells: Assessing Water Source Failure With Machine Learning* **Steven Zych - August 2020** # Introduction This project looks at the condition of water wells in the East-African country of Tanzania, with the aim of building a machine learning model that predicts the condition of any given well. Predictions are made from a set of independent variables such as `funder`, `yr_built`, `region`, and so on. All of the data is available for free at this competition link. The models in this project were based exclusively on the files named `train_labels.csv` and `train_vals.csv`, though a third `target_vals.csv` is also available for competition entries. The data was manually cleaned in the notebook `cleaning.ipynb` and made into a Pandas DataFrame. This DataFrame (boasting 59,000 rows and 31 features) was then brought to the `modeling.ipynb` notebook where four main ML algorithms were used. A general overview of the cleaning process and all ML models are provided in the following sections. To be explicit, this is a **ternary classification problem,** where the three possible classes are **functional, functional-needs-repairs, and nonfunctional.** The aim of this project is to make a model that accurately applies these three labels, and later to investigate **what features have the greatest effect on predictions.** In doing so, the Tanzanian government (as well as independent aid organizations) can be aided in distributing resources and help to communities in need of clean, accessible water. All in all, the following packages were used: - Pandas - NumPy - Matplotlib - Seaborn - Scikit-Learn - Datetime - Pickle - Imbalanced-Learn # EDA and Cleaning ## General Cleaning The data cleaning on this project was fairly straightforward. Nothing too odd or frustrating was present in the data, aside from the oft-expectable case of 0's being used in an unclear manner (Are they 0's? Are they placeholders?). A handful of columns that were almost entirely NaN values or …