File size: 999 Bytes
1378bb9
f6b276b
a1a1b0e
377b3b8
f6b276b
 
6a0d24f
f1bb33d
 
f6b276b
6a0d24f
f1bb33d
 
f6b276b
 
f1bb33d
f6b276b
 
 
6a0d24f
1378bb9
37c2038
4077d01
 
377b3b8
 
b5a99c7
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
import numpy as np
import pandas as pd
import streamlit as st
from settings import TEST_COLUMN_NAME, BETTER_COLUMN_NAME, GROUND_TRUTH_FILE


def validate_file(input_file):
    if len(input_file) < 1:
        st.write("No rows detected.")
        return
    if TEST_COLUMN_NAME not in input_file.columns.to_list():
        st.write(f"No column named {TEST_COLUMN_NAME} in the file.")
        st.write(f"Found these columns:{input_file.columns}")
        return
    else:
        st.write("File loaded and confirmed.")
        return True


def check_projections(projections):
    ground_truth = pd.read_csv(GROUND_TRUTH_FILE)
    checked_file = pd.merge(ground_truth, projections, how='left', on='bbref_id')
    marcel_mean_absolute_error = np.nanmean(np.abs(checked_file['ops_pred'] - checked_file[TEST_COLUMN_NAME]))
    better_mean_absolute_error = np.nanmean(np.abs(checked_file['ops_real'] - checked_file[BETTER_COLUMN_NAME]))
    return marcel_mean_absolute_error, better_mean_absolute_error