Aswini-Kumar commited on
Commit
091d188
·
verified ·
1 Parent(s): 2879f65

Upload server/evaluator.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. server/evaluator.py +20 -0
server/evaluator.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from sklearn.linear_model import LogisticRegression
2
+ from sklearn.model_selection import cross_val_score
3
+ import numpy as np
4
+
5
+
6
+ class Evaluator:
7
+ def __init__(self):
8
+ self.model = LogisticRegression(max_iter=200, random_state=42)
9
+
10
+ def evaluate(self, df):
11
+ """Returns accuracy score. Handles missing values by dropping rows."""
12
+ clean = df.dropna()
13
+ if len(clean) < 20:
14
+ return 0.0
15
+ X = clean.drop("label", axis=1).values
16
+ y = clean["label"].values
17
+ if len(set(y)) < 2:
18
+ return 0.0
19
+ scores = cross_val_score(self.model, X, y, cv=3, scoring="accuracy")
20
+ return float(np.mean(scores))