File size: 2,269 Bytes
d9322ec
 
 
cb6d12a
 
 
d9322ec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
943e539
d9322ec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6b74b8c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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()