Spaces:
Sleeping
Sleeping
#!/usr/bin/env python | |
# coding: utf-8 | |
# # Importación de librerías y carga de datos | |
# In[1]: | |
import pickle | |
import numpy as np | |
import gradio as gr | |
import sklearn | |
import pandas as pd | |
from sklearn.model_selection import train_test_split | |
from sklearn.gaussian_process import GaussianProcessRegressor | |
filename = 'DatosEP3.csv' | |
names0 = ['zB', 'FI', 'Q', 'IEP'] | |
dataset=pd.read_csv(filename, names=names0) | |
y = dataset['IEP'] | |
X = dataset.drop('IEP', axis=1) | |
validation_size = 0.20 | |
seed = 0 | |
X_train, X_test, Y_train, Y_test = train_test_split(X, y, test_size=validation_size, random_state=seed) | |
modelodef=GaussianProcessRegressor(alpha=0.00001, normalize_y=False) | |
modelodef.fit(X_train, Y_train) | |
# In[2]: | |
pickle.dump(modelodef, open("modelodef.pkl", "wb")) | |
def IEPML(zB, FI, Q): | |
modelodef = pickle.load(open("modelodef.pkl", "rb")) | |
prediction0 = modelodef.predict([[zB, FI, Q]]) | |
prediction = np.round(prediction0,3) | |
return prediction | |
title = "CALCULATION OF THE INFLUENCE FACTOR RELATING ELASTIC AND ELASTOPLASTIC SETTLEMENTS" | |
description = "This app corresponds to the research paper: COUPLING NUMERICAL MODELLING AND MACHINE LEARNING TO EVALUATE ELASTOPLASTIC SETTLEMENTS OF SHALLOW FOUNDATIONS" | |
article = """ | |
Notes: | |
- Click submit/enviar button to obtain the Influence Factor prediction | |
- Click clear/limpiar button to refresh text | |
- Please note the application ranges of the variables in the above-referenced paper (in publishing process). Outside these ranges, the predictions may not be reliable | |
- The ranges of application are: | |
- Angle of internal friction: between 25º and 45º | |
- z/B: between 0.25 and 7.50 | |
- Ratio between the applied pressure to the ultimate bearing capacity: between 0.2 and 0.9 | |
- For cases in which there is no bedrock under the foundation, a limit value of z/B equal to 7.5 has to be used due according to the above referenced paper | |
- As a decimal separator you can use either a point or a comma | |
""" | |
app = gr.Interface( | |
IEPML, | |
inputs=[ | |
gr.Number(value=1, label="z/B"), | |
gr.Number(value=30, label="Angle of internal friction (º)"), | |
gr.Number(value=0.33, label="Ratio between applied load and ultimate load (q/qult)"), | |
], | |
outputs=[gr.Text(label="Influence Factor")], | |
title=title, | |
description=description, | |
article = article, | |
theme="dark-seafoam" | |
) | |
app.launch() |