OperationalML / Readme.md
Venkatakrishnan Ramesh
Add application file
c64b5ea

A newer version of the Streamlit SDK is available: 1.40.0

Upgrade

ntroduction

The OperationalML App is a machine learning profiler application designed to help developers and data scientists optimize and improve the performance of their machine learning models. The app works by analyzing the input data and output predictions of a model, and providing insights and recommendations to improve its accuracy, speed, and efficiency. Functional Requirements Requirement 1: Upload Dataset

The user should be able to upload a dataset to be analyzed by the OperationalML App. Upon uploading, the dataset should be stored locally and displayed to the user for review.

python

if choice == "Upload": st.title("Upload Your Dataset") file = st.file_uploader("Upload Your Dataset") if file: df = pd.read_csv(file, index_col=None) df.to_csv('dataset.csv', index=None) st.dataframe(df)

Requirement 2: Exploratory Data Analysis

The user should be able to perform exploratory data analysis on the uploaded dataset. The app should use pandas_profiling to generate a report on the dataset and display it to the user.

python

if choice == "Profiling": st.title("Exploratory Data Analysis") profile_df = df.profile_report() st_profile_report(profile_df)

Requirement 3: Modelling

The user should be able to choose a target column from the uploaded dataset and run a machine learning model on it. The app should use pycaret for modelling and should allow the user to compare different models to choose the best one. The best model should be saved as a .pkl file.

python

if choice == "Modelling": chosen_target = st.selectbox('Choose the Target Column', df.columns) if st.button('Run Modelling'): def Encoder(df): columnsToEncode = list(df.select_dtypes(include=['category','object'])) le = LabelEncoder() for feature in columnsToEncode: try: df = le.fit_transform(df) except: print('Error encoding '+feature) return df df.astype(float) df.dropna(inplace=True) setup(df, target=chosen_target) setup_df = pull() st.dataframe(setup_df) best_model = compare_models() compare_df = pull() st.dataframe(compare_df) save_model(best_model, 'best_model')

Requirement 4: Download Model

The user should be able to download the best model as a .pkl file for future use.

python

if choice == "Download": with open('best_model.pkl', 'rb') as f: st.download_button('Download Model', f, file_name="best_model.pkl")

Non-Functional Requirements Requirement 1: Performance

The OperationalML App should be able to analyze large datasets and run machine learning models efficiently, without causing significant delays or crashes. Requirement 2: User Interface

The user interface of the OperationalML App should be user-friendly and intuitive, allowing users with limited technical knowledge to use the app without difficulty. Requirement 3: Security

The OperationalML App should be secure and protect user data from unauthorized access or modification. System Requirements

The OperationalML App requires the following system requirements:

Python 3.7 or higher
streamlit
plotly
pandas_profiling
pycaret
streamlit_pandas_profiling
scikit-learn

Conclusion

The OperationalML App is a machine learning profiler application designed to help developers and data scientists optimize and improve the performance of their machine learning models. The app is user-friendly,