Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jfdev001/mars-ml-mtsu-honors-thesis
Honors undergraduate thesis end-to-end machine learning project for weather prediction on Mars.
https://github.com/jfdev001/mars-ml-mtsu-honors-thesis
python tensorflow thesis time-series
Last synced: 16 days ago
JSON representation
Honors undergraduate thesis end-to-end machine learning project for weather prediction on Mars.
- Host: GitHub
- URL: https://github.com/jfdev001/mars-ml-mtsu-honors-thesis
- Owner: jfdev001
- Created: 2021-12-16T16:00:50.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-01-16T09:22:54.000Z (almost 3 years ago)
- Last Synced: 2024-10-28T12:07:50.652Z (2 months ago)
- Topics: python, tensorflow, thesis, time-series
- Language: Python
- Homepage:
- Size: 11.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Honors Undergraduate Thesis in Machine Learning for Weather Prediction on Mars
![](figures/thesis_front_page.JPG)
An end-to-end machine learning project in which I used `tensorflow` to construct recurrent neural nets and convolutional neural nets as well as `scikit-learn` to construct linear regression and random forests for multi-step ahead time series prediction of mean ambient air temperature for a region of Mars known as the Gale Crater.
# Installation
It is recommended to use [Miniconda](https://docs.conda.io/projects/conda/en/latest/glossary.html#miniconda-glossary) or [Anaconda](https://docs.conda.io/projects/conda/en/latest/glossary.html#anaconda-glossary) to install the packages for the repository.
To install the environment without GPU acceleration, run the following commands:
`conda install tensorflow scikit-learn statsmodels pandas numpy scipy requests beautifulsoup4 `
`conda install -c conda-forge matplotlib keras-tuner tqdm`
To install the environment with GPU acceleration, run the following commands:
`conda install tensorflow-gpu scikit-learn statsmodels pandas numpy scipy requests beautifulsoup4 `
`conda install -c conda-forge matplotlib keras-tuner tqdm`
# Data
Sols 1 through 2837 were scraped from the `REDUCED_DATA` archive for the NASA Curiosity Rover Environmental Monitoring System (REMS) available through the [Mars Science Laboratory](https://pds-atmospheres.nmsu.edu/data_and_services/atmospheres_data/MARS/curiosity/rems.html) using `requests `and `beautifulsoup4`. Specifically, the `REMS MODRDR` data was used since this is the most processed and therefore best prepared for data analysis. The `REMS_DESCRIPTION.txt` ([link](https://atmos.nmsu.edu/PDS/data/mslrem_1001/CATALOG/REMS_INST.CAT)) describes the instruments and operational capabilities of Curiosity's REMS. The `REMS_MORDR_DS.CAT` ([link](https://atmos.nmsu.edu/PDS/data/mslrem_1001/CATALOG/REMS_MODRDR_DS.CAT)) describes the `MODRDR` cleaned data. The `MODRDR6.FMT` ([link](https://atmos.nmsu.edu/PDS/data/mslrem_1001/LABEL/MODRDR6.FMT)) describes the format of the `MODRDR` data files. Notably, the `MODRDR` data files have the suffix `RMD` ([link](https://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/SOL_00001_00089/SOL00001/RME_397535244RMD00010000000_______P9.LBL)).
# Report
The `docs` folder contains the thesis itself with all findings and methods included.
# Future Work and Reflections
I will likely use an open source MLOps library such as `neptune-client` in the future because tracking hyperparameters using `yaml` proved to be a fairly annoying task.