Commit 4232ca3c authored by Michael Rudolf's avatar Michael Rudolf

README update

- Added more explanations to readme file.
- Renamed main to src
parent 129faf06
# Stick Slip Learning # Stick Slip Learning
Suite of scripts to analyze annular shear experiments with a machine learning approach. From a series of experiments at different conditions, specific segments are extracted, features generated and then used as input for a machine learning algorithm. Suite of scripts to analyze annular shear experiments with a machine learning approach. From a series of experiments at different conditions, specific segments are extracted, features generated and then used as input for a machine learning algorithm. For the terms used and a short explanation of what to expect from the data see [Terminology](https://gitext.gfz-potsdam.de/analab-code/shear-madness/blob/master/Terminology.md).
\ No newline at end of file
## Overview
All relevant scripts are located in the [src](https://gitext.gfz-potsdam.de/analab-code/shear-madness/blob/master/src) directory it contains two 'master' scripts that show a full processing pipeline either for a single set or for multiple sets within a single folder. The scripts use several [modules](https://gitext.gfz-potsdam.de/analab-code/shear-madness/blob/master/src/modules) representing different stages of processing:
1. Data Preparation > `preparation.py`
_Splits the raw data into smaller sets of equal loading rate. Afterwards even smaller subsets are generated and certain subsets are omitted according to certain limitations. The subsets now contain an equal amount of samples and a certain number of events._
2. Feature Generation > `feature_functions.py` and `feature_generation.py`
_Generates features with the functions implemented in `feature_functions.py`. The output is going to be a 2D feature array `X` with a column for each feature and row for each sample and a one-dimensional array containing the data labels. You can add new feature functions to `feature_functions.py` following the instructions therein._
3. Learning > `learning.py`
___To be implemented!__ Uses the chosen machine learning model (from scikit-learn) to fit the labeled data._
The other modules contain helper functions for easy file handling and saving the current stage of processing etc.
## Documentation
Because most of the work is outsourced into modules the two 'master' scripts and the comments inside them should provide enough documentation to assess the project pipeline. A more in-depth documentation of what the functions do including more comments on the source code is given in the form of jupyter notebooks in [Notebooks](https://gitext.gfz-potsdam.de/analab-code/shear-madness/tree/master/notebooks). Because GitLabs supports the display of jupyter notebooks very well they can be viewed online like a normal documentation. If you want to follow the individual steps and actually run the jupyter notebooks you have to make sure to install [↪jupyter (external link!)](https://jupyter.org) on your machine and run a jupyter notebook server. In some cases you need to place them into the src folder to properly pick up the modules. They are not required to run the main scripts.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment