Sanjayraju30 commited on
Commit
f81298d
·
verified ·
1 Parent(s): 6e2fccb

Update risk_model.py

Browse files
Files changed (1) hide show
  1. risk_model.py +26 -2
risk_model.py CHANGED
@@ -7,7 +7,7 @@ MODEL_PATH = "heating_model.pkl"
7
  DATA_PATH = "mantle_training.csv"
8
  HISTORY = []
9
 
10
- # Function to train the model from scratch
11
  def train_and_save_model():
12
  data = pd.read_csv(DATA_PATH)
13
  X = data[["temperature", "duration"]]
@@ -17,10 +17,34 @@ def train_and_save_model():
17
  dump(model, MODEL_PATH)
18
  return model
19
 
20
- # Safe model loader
21
  def load_model():
22
  if not os.path.exists(MODEL_PATH):
23
  return train_and_save_model()
24
  return load(MODEL_PATH)
25
 
 
26
  model = load_model()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  DATA_PATH = "mantle_training.csv"
8
  HISTORY = []
9
 
10
+ # Function to train model if missing
11
  def train_and_save_model():
12
  data = pd.read_csv(DATA_PATH)
13
  X = data[["temperature", "duration"]]
 
17
  dump(model, MODEL_PATH)
18
  return model
19
 
20
+ # Load model safely
21
  def load_model():
22
  if not os.path.exists(MODEL_PATH):
23
  return train_and_save_model()
24
  return load(MODEL_PATH)
25
 
26
+ # Load on module load
27
  model = load_model()
28
+
29
+ def predict_risk(temp, duration):
30
+ global model
31
+ pred = model.predict([[temp, duration]])[0]
32
+ score = max(model.predict_proba([[temp, duration]])[0]) * 100
33
+ HISTORY.append({"Temperature": temp, "Duration": duration, "Risk": pred, "Confidence": round(score, 2)})
34
+ return pred, round(score, 2)
35
+
36
+ def retrain_model():
37
+ try:
38
+ data = pd.read_csv(DATA_PATH)
39
+ X = data[["temperature", "duration"]]
40
+ y = data["risk_level"]
41
+ clf = RandomForestClassifier().fit(X, y)
42
+ dump(clf, MODEL_PATH)
43
+ global model
44
+ model = clf
45
+ return "✅ Model retrained successfully"
46
+ except Exception as e:
47
+ return f"❌ Error: {str(e)}"
48
+
49
+ def get_history_df():
50
+ return pd.DataFrame(HISTORY)