File size: 1,198 Bytes
85abd84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import pandas as pd

df_original = pd.read_csv('original.csv')
df_predicted = pd.read_csv('predicted.csv')

def load_examples():
    st = []
    for i in range(10):
        st.append(';'.join(map(str, df_original.iloc[i])))
    return st

examples = load_examples()

def check_equal(original,predicted):
    percentage = 1
    lower = original * (1 - percentage)
    upper = original * (1 + percentage)
    return (predicted >= lower and predicted <= upper)



def predict(user_game_time):
    (user_id, game_name, time_played) = user_game_time.split(';')

    user_id = int(user_id)
    time_played_original = float(time_played)

    # Search query
    time_played_predicted = df_predicted[(df_predicted['user-id'] == user_id) & (df_predicted['game-title'] == game_name)].iloc[0,2]
    # Check
    right_predict = check_equal(time_played_original, time_played_predicted)
    equal = "Equal" if right_predict else  "Not Equal"

    ans = f"Time original: {time_played_original}\n Time predicted: {time_played_predicted}\n They are equal: {equal}"

    return ans


gr.Interface(
    fn=predict,
    inputs="text",
    outputs="text",
    examples=examples
).launch(share=False)