In this project, we developed an application to easily apply machine learning and deep learning models to build a HTP phenotyping regression/classification model.
https://share.streamlit.io/songwan/htpps/develop/app.py
- Upload your own dataset (.csv) or use pre-loaded dataset (2016 IRRI)
- Select Phenotype to predict (Y), predictors (X), and a goal (regression/classification)
- Select machine learning model and its parameters
- For regression, you can choose linear regression, neural network, and SVR
- For classification, you can choose neural network, and SVC
- Click Run button, then the app automatically displays the following results:
- Visualization outputs
- For regression, scatter plot of target vs predicted valeus
- For classification, contingency matrix for the test data
- For neural network, the history plot
- Performance metrics (Accracy, F1 score, R-squared, MSE)
- The time it took the model to train
- Buttons for downloading model (.pkl/.h5) and model information (.csv)
- Visualization outputs
Make sure you have pip installed with Python 3.
- install pipenv
pip install pipenv- go inside the folder and install the dependencies
pipenv install
pipenv shell- run the app
streamlit run app.pyapp.py: The main script to start the apputils/ui.py: UI functions to display the different components of the appfunctions.py: for data processing, training the model and building the plotly graphs
models/: where each model's hyper-parameter selector is defined