AjaykumarPilla commited on
Commit
cbf8115
·
verified ·
1 Parent(s): 5a5c20f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -6
app.py CHANGED
@@ -69,21 +69,18 @@ except Exception as e:
69
  def generate_heatmap(phase, weather, model):
70
  print("Generating heatmap...")
71
  try:
72
- # Prepare data for heatmap
73
  absentee_range = np.linspace(0, 100, 20)
74
  delay_log_range = np.linspace(0, 20, 20)
75
  framing = 1 if phase == "Framing" else 0
76
  foundation = 1 if phase == "Foundation" else 0
77
  weather_encoded = weather_map.get(weather, 0)
78
 
79
- # Generate predictions for heatmap
80
  Z = np.zeros((len(delay_log_range), len(absentee_range)))
81
  for i, delay_log in enumerate(delay_log_range):
82
  for j, absentee in enumerate(absentee_range):
83
  input_data = [[framing, foundation, weather_encoded, absentee, delay_log]]
84
  Z[i, j] = model.predict(input_data)[0]
85
 
86
- # Create heatmap
87
  plt.figure(figsize=(8, 6))
88
  sns.heatmap(Z, xticklabels=np.round(absentee_range, 1), yticklabels=np.round(delay_log_range, 1),
89
  cmap="YlOrRd", annot=True, fmt=".1f", cbar_kws={'label': 'Predicted Delay %'})
@@ -91,7 +88,6 @@ def generate_heatmap(phase, weather, model):
91
  plt.ylabel("Previous Delay Log")
92
  plt.title(f"Delay Prediction Heatmap (Phase: {phase}, Weather: {weather})")
93
 
94
- # Save heatmap
95
  output_dir = "pdf_reports"
96
  os.makedirs(output_dir, exist_ok=True)
97
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
@@ -123,7 +119,7 @@ def generate_pdf_report(phase, weather, absentee_pct, delay_log, prediction, ris
123
  f"Weather: {weather}",
124
  f"Absentee Percentage: {absentee_pct}%",
125
  f"Previous Delay Log: {delay_log}",
126
- f"Predicted Delay: {prediction}%",
127
  f"Risk Level: {risk}",
128
  "AI Insight:"
129
  ]
@@ -299,7 +295,8 @@ try:
299
  prediction, risk, insight, pdf_base64, pdf_path, heatmap_path = predict_delay(phase, weather, absentee, delay_log)
300
  if prediction is None:
301
  return f"Error: {insight}"
302
- return (f"Predicted Delay: {prediction}%\n"
 
303
  f"Risk Level: {risk}\n"
304
  f"Insight: {insight}\n"
305
  f"PDF Report: {'Saved locally at ' + pdf_path if pdf_path else 'Failed to generate'}\n"
 
69
  def generate_heatmap(phase, weather, model):
70
  print("Generating heatmap...")
71
  try:
 
72
  absentee_range = np.linspace(0, 100, 20)
73
  delay_log_range = np.linspace(0, 20, 20)
74
  framing = 1 if phase == "Framing" else 0
75
  foundation = 1 if phase == "Foundation" else 0
76
  weather_encoded = weather_map.get(weather, 0)
77
 
 
78
  Z = np.zeros((len(delay_log_range), len(absentee_range)))
79
  for i, delay_log in enumerate(delay_log_range):
80
  for j, absentee in enumerate(absentee_range):
81
  input_data = [[framing, foundation, weather_encoded, absentee, delay_log]]
82
  Z[i, j] = model.predict(input_data)[0]
83
 
 
84
  plt.figure(figsize=(8, 6))
85
  sns.heatmap(Z, xticklabels=np.round(absentee_range, 1), yticklabels=np.round(delay_log_range, 1),
86
  cmap="YlOrRd", annot=True, fmt=".1f", cbar_kws={'label': 'Predicted Delay %'})
 
88
  plt.ylabel("Previous Delay Log")
89
  plt.title(f"Delay Prediction Heatmap (Phase: {phase}, Weather: {weather})")
90
 
 
91
  output_dir = "pdf_reports"
92
  os.makedirs(output_dir, exist_ok=True)
93
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
 
119
  f"Weather: {weather}",
120
  f"Absentee Percentage: {absentee_pct}%",
121
  f"Previous Delay Log: {delay_log}",
122
+ f"Predicted Delay: {prediction}%{' 🚩' if prediction >= 75 else ''}",
123
  f"Risk Level: {risk}",
124
  "AI Insight:"
125
  ]
 
295
  prediction, risk, insight, pdf_base64, pdf_path, heatmap_path = predict_delay(phase, weather, absentee, delay_log)
296
  if prediction is None:
297
  return f"Error: {insight}"
298
+ flag = " 🚩" if prediction >= 75 else ""
299
+ return (f"Predicted Delay: {prediction}%{flag}\n"
300
  f"Risk Level: {risk}\n"
301
  f"Insight: {insight}\n"
302
  f"PDF Report: {'Saved locally at ' + pdf_path if pdf_path else 'Failed to generate'}\n"