import gradio as gr import joblib import pickle import numpy as np def stats(age, g, gs, mp, fga, tpa, spp, efgp, ft, ftp, orb, drb, ast, stl, blk, tov, pf, pts): stats = [] median = 2926620.0 dolYen = 130 with open('./drive/MyDrive/lgb-NBA.pkl', 'rb') as f: model = pickle.load(f) stats.append(age) stats.append(g) stats.append(gs) stats.append(mp) stats.append(fga) stats.append(tpa) stats.append(spp) stats.append(efgp) stats.append(ft) stats.append(ftp) stats.append(orb) stats.append(drb) stats.append(ast) stats.append(stl) stats.append(blk) stats.append(tov) stats.append(pf) stats.append(pts) salary = model.predict([stats]) + median salaryUs = round(salary[0]) salaryJp = round(salary[0] * dolYen) return salaryUs, salaryJp demo = gr.Interface(fn=stats, title="選手情報から年俸を予測(2021-NBA)", inputs=[gr.Textbox(label='年齢(Age)'), gr.Textbox(label='試合出場回数(G)'), gr.Textbox(label='スタメン試合出場回数(GS)'), gr.Textbox(label='試合の出場時間(MP)'), gr.Textbox(label='シュート試行回数(FGA)'), gr.Textbox(label='3P試行回数(3PA)'), gr.Textbox(label='2P成功率(2P%)'), gr.Textbox(label='得点期待値(eFG%)'), gr.Textbox(label='フリースロー試行回数(FTA)'), gr.Textbox(label='フリースロー成功率(FT%)'), gr.Textbox(label='オフェンスリバンド(ORB)'), gr.Textbox(label='ディフェンスリバウンド(DRB)'), gr.Textbox(label='アシスト(AST)'), gr.Textbox(label='スティール(STL)'), gr.Textbox(label='ブロック(BLK)'), gr.Textbox(label='ターンオーバー(TOV)'), gr.Textbox(label='ファール(PF)'), gr.Textbox(label='得点(PTS)') ], outputs=[gr.Textbox(label='予測年俸($)'), gr.Textbox(label='予測年俸(円)') ]) demo.launch()