import gradio as gr import pickle with open('./lgb-NBA.pkl', 'rb') as f: model = pickle.load(f) 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 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="選手情報から年俸を予測(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()