-
Notifications
You must be signed in to change notification settings - Fork 1
/
run_debug.py
91 lines (65 loc) · 2.13 KB
/
run_debug.py
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/env python
# coding: utf-8
import argparse
import warnings
warnings.filterwarnings("ignore")
import sys
sys.path.append('./src')
sys.path.append('./models')
import pandas as pd
import numpy as np
from tqdm import tqdm
tqdm.pandas()
from model import AcikhackModel
parser = argparse.ArgumentParser()
parser.add_argument('-data-path', type=str, required=True, help='Girdi dosyasinin adresi')
args = parser.parse_args()
print("Debug scripti baslatildi!")
print("Girdi verisi okunuyor...")
df = pd.read_csv(args.data_path)
subm_null_df = df.copy()
comparison_cols = [
# 'baslik',
# 'kurum',
# 'url',
# 'kanunum_url'
## THESE SHOULD BE ENABLED vvv
'rega_no',
'sira_no',
'mukerrer_no',
'donem',
'kategori',
'rega_tarihi',
'mevzuat_no',
'belge_sayi',
'mevzuat_tarihi',
'madde_sayisi',
]
subm_null_df[comparison_cols] = np.nan
subm_null_df[["mukerrer_no", "madde_sayisi"]] = 0
df["mukerrer_no"].fillna(0, inplace=True)
df["madde_sayisi"].fillna(0, inplace=True)
print("Model olusturuluyor...")
ah_model = AcikhackModel(checkpoint_path="./models")
print("Model calistiriliyor...")
submission_df = ah_model.run_pipeline(subm_null_df)
submission_df["exact_match"] = 1
print("\n\n")
print("*"*20)
print("Basari tablosu:")
print("*"*20)
for comparison_col in comparison_cols:
# if comparison_col in ["donem"]:
# continue
# Mevzuat specific evaluation rule
if comparison_col in ["mevzuat_no", "mevzuat_tarihi"]:
submission_df.loc[submission_df.kategori == "Yönetmelik", comparison_col] = "devre_disi"
df.loc[df.kategori == "Yönetmelik", comparison_col] = "devre_disi"
# Madde sayisi specific evaluation rule
if comparison_col == "madde_sayisi":
col_success = (abs(submission_df[comparison_col].fillna(0) - df[comparison_col].fillna(0))<2).astype(int)
else:
col_success = (submission_df[comparison_col].fillna(-1111) == df[comparison_col].fillna(-1111)).astype(int)
print(f"Score for '{comparison_col}': {col_success.mean()}")
submission_df["exact_match"] *= col_success
print("\nOverall score:", submission_df["exact_match"].mean())