Ujeshhh commited on
Commit
c41e114
·
verified ·
1 Parent(s): 2fc095b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -7
app.py CHANGED
@@ -9,16 +9,10 @@ from datetime import datetime
9
  with open("anomaly_detector_rf_model.pkl", "rb") as f:
10
  model = pickle.load(f)
11
 
12
- # Function to preprocess and predict anomalies
13
  def detect_anomalies(df):
14
- required_columns = {"transaction_id", "amount", "merchant", "location", "transaction_date"}
15
- if not required_columns.issubset(df.columns):
16
- missing = required_columns - set(df.columns)
17
- raise ValueError(f"Missing required columns: {', '.join(missing)}")
18
-
19
  df["log_amount"] = np.log1p(df["amount"])
20
  df["amount_zscore"] = (df["amount"] - df["amount"].mean()) / df["amount"].std()
21
- df["transaction_date"] = pd.to_datetime(df["transaction_date"], errors='coerce')
22
  df["day_of_week"] = df["transaction_date"].dt.dayofweek
23
  df["hour"] = df["transaction_date"].dt.hour
24
  df["is_weekend"] = df["day_of_week"].isin([5, 6]).astype(int)
@@ -27,6 +21,8 @@ def detect_anomalies(df):
27
  df["is_anomalous"] = model.predict(df[features])
28
 
29
  anomalies = df[df["is_anomalous"] == 1][["transaction_id", "amount", "merchant", "location", "transaction_date"]]
 
 
30
  csv_path = "/tmp/anomalies.csv"
31
  anomalies.to_csv(csv_path, index=False)
32
 
 
9
  with open("anomaly_detector_rf_model.pkl", "rb") as f:
10
  model = pickle.load(f)
11
 
 
12
  def detect_anomalies(df):
 
 
 
 
 
13
  df["log_amount"] = np.log1p(df["amount"])
14
  df["amount_zscore"] = (df["amount"] - df["amount"].mean()) / df["amount"].std()
15
+ df["transaction_date"] = pd.to_datetime(df["transaction_date"])
16
  df["day_of_week"] = df["transaction_date"].dt.dayofweek
17
  df["hour"] = df["transaction_date"].dt.hour
18
  df["is_weekend"] = df["day_of_week"].isin([5, 6]).astype(int)
 
21
  df["is_anomalous"] = model.predict(df[features])
22
 
23
  anomalies = df[df["is_anomalous"] == 1][["transaction_id", "amount", "merchant", "location", "transaction_date"]]
24
+
25
+ # Save anomalies to CSV
26
  csv_path = "/tmp/anomalies.csv"
27
  anomalies.to_csv(csv_path, index=False)
28