|
import gradio as gr |
|
import torch, numpy as np, pandas as pd |
|
import skimage |
|
import pickle |
|
|
|
defaultColumns = [ |
|
'matchType', |
|
'assists', |
|
'boosts', |
|
'damageDealt', |
|
'DBNOs', |
|
'headshotKills', |
|
'heals', |
|
'killPlace', |
|
'killPoints', |
|
'kills', |
|
'killStreaks', |
|
'longestKill', |
|
'matchDuration', |
|
'maxPlace', |
|
'numGroups', |
|
'rankPoints', |
|
'revives', |
|
'rideDistance', |
|
'roadKills', |
|
'swimDistance', |
|
'teamKills', |
|
'vehicleDestroys', |
|
'walkDistance', |
|
'weaponsAcquired', |
|
'winPoints' |
|
] |
|
|
|
options = [ |
|
'crashfpp', |
|
'crashtpp', |
|
'duo', |
|
'duo-fpp', |
|
'flarefpp', |
|
'flaretpp', |
|
'normal-duo', |
|
'normal-duo-fpp', |
|
'normal-solo', |
|
'normal-solo-fpp', |
|
'normal-squad', |
|
'normal-squad-fpp', |
|
'solo', |
|
'solo-fpp', |
|
'squad', |
|
'squad-fpp' |
|
] |
|
|
|
with open("model.pkl", "rb") as f: |
|
model = pickle.load(f) |
|
|
|
def win_position(matchType, assists, boosts, damageDealt, DBNOs, headshotKills, heals, killPlace, killPoints, kills, killStreaks, longestKill, matchDuration, maxPlace, numGroups, rankPoints, revives, rideDistance, roadKills, swimDistance, teamKills, vehicleDestroys, walkDistance, weaponsAcquired, winPoints): |
|
|
|
f_matchType = options.index(matchType) |
|
f_assists = float(assists) |
|
f_boosts = float(boosts) |
|
f_damageDealt = float(damageDealt) |
|
f_DBNOs = float(DBNOs) |
|
f_headshotKills = float(headshotKills) |
|
f_heals = float(heals) |
|
f_killPlace = float(killPlace) |
|
f_killPoints = float(killPoints) |
|
f_kills = float(kills) |
|
f_killStreaks = float(killStreaks) |
|
f_longestKill = float(longestKill) |
|
f_matchDuration = float(matchDuration) |
|
f_maxPlace = float(maxPlace) |
|
f_numGroups = float(numGroups) |
|
f_rankPoints = float(rankPoints) |
|
f_revives = float(revives) |
|
f_rideDistance = float(rideDistance) |
|
f_roadKills = float(roadKills) |
|
f_swimDistance = float(swimDistance) |
|
f_teamKills = float(teamKills) |
|
f_vehicleDestroys = float(vehicleDestroys) |
|
f_walkDistance = float(walkDistance) |
|
f_weaponsAcquired = float(weaponsAcquired) |
|
f_winPoints = float(winPoints) |
|
|
|
default = [ |
|
f_matchType, |
|
f_assists, |
|
f_boosts, |
|
f_damageDealt, |
|
f_DBNOs, |
|
f_headshotKills, |
|
f_heals, |
|
f_killPlace, |
|
f_killPoints, |
|
f_kills, |
|
f_killStreaks, |
|
f_longestKill, |
|
f_matchDuration, |
|
f_maxPlace, |
|
f_numGroups, |
|
f_rankPoints, |
|
f_revives, |
|
f_rideDistance, |
|
f_roadKills, |
|
f_swimDistance, |
|
f_teamKills, |
|
f_vehicleDestroys, |
|
f_walkDistance, |
|
f_weaponsAcquired, |
|
f_winPoints |
|
] |
|
|
|
df=pd.DataFrame([default], columns = defaultColumns) |
|
|
|
predictions = model.predict(df) |
|
|
|
result = 'você ficou em ' + str((100 - (int(predictions[0]*100)))) + '° lugar. [' + str(predictions[0]) + ']' |
|
|
|
return result |
|
|
|
iface = gr.Interface( |
|
fn=win_position, |
|
title="Win Predict", |
|
allow_flagging="never", |
|
inputs=[ |
|
gr.Dropdown(options, default='squad-fpp', label="matchType"), |
|
gr.inputs.Number(default= 0, label="assists"), |
|
gr.inputs.Number(default= 8, label="boosts"), |
|
gr.inputs.Number(default= 501.5, label="damageDealt"), |
|
gr.inputs.Number(default= 3, label="DBNOs"), |
|
gr.inputs.Number(default= 1, label="headshotKills"), |
|
gr.inputs.Number(default= 9, label="heals"), |
|
gr.inputs.Number(default= 3, label="killPlace"), |
|
gr.inputs.Number(default= 1551, label="killPoints"), |
|
gr.inputs.Number(default= 4, label="kills"), |
|
gr.inputs.Number(default= 2, label="killStreaks"), |
|
gr.inputs.Number(default= 115.9, label="longestKill"), |
|
gr.inputs.Number(default= 1810, label="matchDuration"), |
|
gr.inputs.Number(default= 30, label="maxPlace"), |
|
gr.inputs.Number(default= 30, label="numGroups"), |
|
gr.inputs.Number(default= -1, label="rankPoints"), |
|
gr.inputs.Number(default= 1, label="revives"), |
|
gr.inputs.Number(default= 7958.0, label="rideDistance"), |
|
gr.inputs.Number(default= 0, label="roadKills"), |
|
gr.inputs.Number(default= 0.0, label="swimDistance"), |
|
gr.inputs.Number(default= 0, label="teamKills"), |
|
gr.inputs.Number(default= 0, label="vehicleDestroys"), |
|
gr.inputs.Number(default= 2923.0, label="walkDistance"), |
|
gr.inputs.Number(default= 8, label="weaponsAcquired"), |
|
gr.inputs.Number(default= 1516, label="winPoints") |
|
], |
|
outputs="text") |
|
iface.launch() |