|
import streamlit as st |
|
import pandas as pd |
|
from flaml import AutoML |
|
from sklearn.model_selection import train_test_split |
|
from sklearn.metrics import accuracy_score |
|
|
|
from utils import csv_to_featuers_list, pre_process_df, pre_process_features |
|
|
|
st.set_page_config(layout="wide") |
|
|
|
st.title("Auto ML") |
|
|
|
with st.sidebar: |
|
demo_but = st.button(label="Demo with Wine Rate Dataset") |
|
csv = st.file_uploader(label='CSV file') |
|
type_ = st.selectbox(label='Type', options=['Classification', 'Regression']) |
|
lst_features = csv_to_featuers_list(csv) |
|
label = st.selectbox(label='label', options=lst_features) |
|
automl_type = st.selectbox(label='Type of AutoML', options=['AutoML (Flmal)', 'Sklearn AutoML']) |
|
budget = st.text_area(label='Budget Time', value="10") |
|
start_but = st.button(label='AutoML') |
|
|
|
|
|
if demo_but == True: |
|
df = pd.read_csv('WineRate.csv') |
|
df = pre_process_df(df) |
|
label = 'quality' |
|
X = df[df.columns.difference([label])] |
|
y = df[label] |
|
X = pre_process_features(X) |
|
X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.2, random_state=89) |
|
automl = AutoML() |
|
automl.fit(X_train, y_train, task="classification", time_budget=int(budget)) |
|
|
|
acc = accuracy_score(automl.predict(X_test), y_test) |
|
st.text(f'accuracy = {acc}') |