Spaces:
Runtime error
Runtime error
# -*- coding: utf-8 -*- | |
"""Untitled6.ipynb | |
Automatically generated by Colaboratory. | |
Original file is located at | |
https://colab.research.google.com/github/kdemertzis/Earthquakes/blob/main/GRADIO-Classification_ROW_FORM_BARE.ipynb | |
""" | |
#pip install pycaret | |
#pip install gradio | |
#pip install pyyaml==5.4.1 | |
""" | |
Import library | |
""" | |
##-- PyCaret | |
import pycaret | |
from pycaret.classification import * | |
##-- Pandas | |
import pandas as pd | |
from pandas import Series, DataFrame | |
##-- Scikit-learn | |
import sklearn | |
from string import ascii_letters | |
import numpy as np | |
import seaborn as sns | |
import matplotlib.pyplot as plt | |
##-- Gradio | |
import gradio as gr | |
import warnings | |
warnings.simplefilter(action='ignore', category=FutureWarning) | |
url = 'https://raw.githubusercontent.com/kdemertzis/Earthquakes/main/Data/Gradio/1_3class.csv' | |
# load the dataset | |
df = pd.read_csv(url) | |
# setup the dataset | |
grid = setup(data=df, target=df.columns[-1], html=False, silent=True, verbose=False) | |
df.describe() | |
best = compare_models(cross_validation=True, n_select = 10, turbo=True) | |
compare_model_results = pull() | |
len(best) | |
10 | |
print(best[:5]) | |
# creating a predict function to be passed into gradio UI | |
def predict(model, HI, PGA, VMAX, ASI, TSIGN, TBRAC, PP, CAV, SED, TUD, EPA, PGV, PGD, IA, HTOT, ECC, VW1, VW2): | |
df = pd.DataFrame.from_dict({'HI': [HI], 'PGA': [PGA], 'VMAX': [VMAX], 'ASI': [ASI], 'TSIGN': [TSIGN], 'TBRAC': [TBRAC], 'PP': [PP], 'CAV': [CAV], 'SED': [SED], 'TUD': [TUD], 'EPA': [EPA], 'PGV': [PGV], 'PGD': [PGD], 'IA': [IA], 'HTOT': [HTOT], 'ECC': [ECC], 'VW1': [VW1], 'VW2': [VW2]}) | |
model_index = list(compare_model_results['Model']).index(model) | |
model = best[model_index] | |
pred = predict_model(model, df, raw_score=True) | |
return {'Slight': pred['Score_A'][0].astype('float64'), 'Moderate': pred['Score_B'][0].astype('float64' ), 'Heavy': pred['Score_C'][0].astype('float64')} | |
title="Classification of Buildings' Seismic Damage by ML Techniques" | |
model = gr.inputs.Dropdown(list(compare_model_results['Model']),label="Model") | |
HI = gr.inputs.Slider(minimum=-1, maximum=1, default=df['HI'].mean(), label="HI") | |
PGA = gr.inputs.Slider(minimum=-1, maximum=1, default=df['PGA'].mean(), label="PGA") | |
VMAX = gr.inputs.Slider(minimum=-1, maximum=1, default=df['VMAX'].mean(), label="VMAX") | |
ASI = gr.inputs.Slider(minimum=-1, maximum=1, default=df['ASI'].mean(), label="ASI") | |
TSIGN = gr.inputs.Slider(minimum=-1, maximum=1, default=df['TSIGN'].mean(), label="TSIGN") | |
TBRAC = gr.inputs.Slider(minimum=-1, maximum=1, default=df['TBRAC'].mean(), label="TBRAC") | |
PP = gr.inputs.Slider(minimum=-1, maximum=1, default=df['PP'].mean(), label="PP") | |
CAV = gr.inputs.Slider(minimum=-1, maximum=1, default=df['CAV'].mean(), label="CAV") | |
SED = gr.inputs.Slider(minimum=-1, maximum=1, default=df['SED'].mean(), label="SED") | |
TUD = gr.inputs.Slider(minimum=-1, maximum=1, default=df['TUD'].mean(), label="TUD") | |
EPA = gr.inputs.Slider(minimum=-1, maximum=1, default=df['EPA'].mean(), label="EPA") | |
PGV = gr.inputs.Slider(minimum=-1, maximum=1, default=df['PGV'].mean(), label="PGV") | |
PGD = gr.inputs.Slider(minimum=-1, maximum=1, default=df['PGD'].mean(), label="PGD") | |
IA = gr.inputs.Slider(minimum=-1, maximum=1, default=df['IA'].mean(), label="IA") | |
HTOT = gr.inputs.Slider(minimum=-1, maximum=1, default=df['HTOT'].mean(), label="HTOT") | |
ECC = gr.inputs.Slider(minimum=-1, maximum=1, default=df['ECC'].mean(), label="ECC") | |
VW1 = gr.inputs.Slider(minimum=-1, maximum=1, default=df['VW1'].mean(), label="VW1") | |
VW2 = gr.inputs.Slider(minimum=-1, maximum=1, default=df['VW2'].mean(), label="VW2") | |
gr.Interface(predict,[model, HI, PGA, VMAX, ASI, TSIGN, TBRAC, PP, CAV, SED, TUD, EPA, PGV, PGD, IA, HTOT, ECC, VW1, VW2], "label", title=title, live=True).launch() |