savgolfilt / app.py
rizkidewanto's picture
Update app.py
68c863d
import pandas as pd
from scipy.signal import savgol_filter
import joblib
import numpy as np
import plotly.express as px
import gradio as gr
titik1=gr.Number(label='Node 1')
titik2=gr.Number(label='Node 2')
titik3=gr.Number(label='Node 3')
titik4=gr.Number(label='Node 4')
titik5=gr.Number(label='Node 5')
titik6=gr.Number(label='Node 6')
titik7=gr.Number(label='Node 7')
titik8=gr.Number(label='Node 8')
titik9=gr.Number(label='Node 9')
titik10=gr.Number(label='Node 10')
titik11=gr.Number(label='Node 11')
plot=gr.Plot()
desc='For one-time prediction only'
net=joblib.load('model_savgolfilt')
def fn(titik1,titik2,titik3,titik4,titik5,titik6,titik7,titik8,titik9,titik10,titik11):
titik=np.array([])
titik=np.append(titik,titik1)
titik=np.append(titik,titik2)
titik=np.append(titik,titik3)
titik=np.append(titik,titik4)
titik=np.append(titik,titik5)
titik=np.append(titik,titik6)
titik=np.append(titik,titik7)
titik=np.append(titik,titik8)
titik=np.append(titik,titik9)
titik=np.append(titik,titik10)
titik=np.append(titik,titik11)
x=savgol_filter(titik,11,3)
hasil=net.fit([x(len()-1),x(len())])
px.line(y=[x(len()-1),x(len()),hasil])
keluar=px.line(y=[x(len()-1),x(len()),hasil])
return keluar
app=gr.Interface(fn,inputs=[titik1,titik2,titik3,titik4,titik5,titik6,titik7,titik8,titik9,titik10,titik11],outputs=[plot],description=desc,title='Savitsky-Golay Prediction')
app.launch()