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()