Spaces:
Runtime error
Runtime error
Download app.py from AshwinUnnikrishnan/ExploratoryDataAnalysis: direct link, hf CLI and curl.
- Browser
- Download file 2.61 kB
-
https://huggingface.co/spaces/AshwinUnnikrishnan/ExploratoryDataAnalysis/resolve/main/app.py
- Command line
-
hf download hf://spaces/AshwinUnnikrishnan/ExploratoryDataAnalysis/app.py
-
curl -L -o app.py https://huggingface.co/spaces/AshwinUnnikrishnan/ExploratoryDataAnalysis/resolve/main/app.py
2.61 kB
| from operator import index | |
| import streamlit as st | |
| #import plotly.express as px | |
| from pycaret.classification import setup, compare_models, pull, save_model, load_model | |
| from ydata_profiling import ProfileReport | |
| import pandas as pd | |
| from streamlit_pandas_profiling import st_profile_report | |
| import os | |
| with st.sidebar: | |
| st.image('side.jpeg') | |
| st.title('AutoStreamML') | |
| choice = st.radio("Navigation", ["Upload", "Profiling", "Modelling", "Download"]) | |
| st.info("This application allows you to build an automted ML pipeline using streamlit, pandas profiling and PyCaret.") | |
| if os.path.exists("sourcedata.csv") and choice == "Upload": | |
| st.session_state.df = pd.read_csv("sourcedata.csv", index_col=None) | |
| if choice == "Upload": | |
| st.title("Upload your data for modelling") | |
| file = st.file_uploader("Upload your dataset") | |
| if file: | |
| st.session_state.df = pd.read_csv(file, index_col=None) | |
| st.dataframe(st.session_state.df) | |
| if st.button("Save"): | |
| st.session_state.df.to_csv("sourcedata.csv", index=None) | |
| if choice == "Profiling": | |
| st.title("Automated Exploratory Data Analysis") | |
| selected_columns = st.multiselect("Select columns to drop", st.session_state.df.columns) | |
| st.dataframe(st.session_state.df) | |
| # Add a button to drop selected columns | |
| if st.button("Drop Columns"): | |
| if selected_columns: | |
| st.session_state.df.drop(columns=selected_columns, inplace=True) | |
| st.dataframe(st.session_state.df) | |
| if st.button("Save"): | |
| st.session_state.df.to_csv("sourcedata.csv", index=None) | |
| if st.button("Perform EDA"): | |
| # Add code to remove timestamps and then do the profile report | |
| profile_df = ProfileReport(st.session_state.df, title="EDA") | |
| st_profile_report(profile_df) | |
| if choice == "Modelling": | |
| columns_without_missing_values = [col for col in st.session_state.df.columns if st.session_state.df[col].count() == len(st.session_state.df)] | |
| target = st.selectbox("Select Your Target", columns_without_missing_values) | |
| if st.button('Run Modelling'): | |
| # Mention to user if the missing value is present instead of throwing error | |
| setup(st.session_state.df, target=target) | |
| setup_df = pull() | |
| st.info("This is the ML Experiment Settings") | |
| st.dataframe(setup_df) | |
| best_model = compare_models() | |
| compare_df = pull() | |
| st.dataframe(compare_df) | |
| save_model(best_model, 'best_model') | |
| if choice == "Download": | |
| with open("best_model.pkl", "rb") as f: | |
| st.download_button("Download the file", f, "best_model.pkl") |