mariamyasir commited on
Commit
57e8711
·
verified ·
1 Parent(s): 9016744

Upload Fraud Detection app.py

Browse files
Files changed (1) hide show
  1. Fraud Detection app.py +12 -2
Fraud Detection app.py CHANGED
@@ -5,8 +5,9 @@ import pandas as pd
5
 
6
  rf_model = joblib.load("rf_model.joblib")
7
  xgb_model = joblib.load("xgb_model.joblib")
8
- st.set_page_config(page_title="Fraud Detection System", layout="wide")
9
  st.title("Credit Card Fraud Detector")
 
10
  RF_WEIGHT = 0.4
11
  XGB_WEIGHT = 0.6
12
 
@@ -38,7 +39,16 @@ st.sidebar.header("⚙️ Options")
38
  mode = st.sidebar.radio("Choose input mode:", ["Single Transaction", "Batch CSV Upload"])
39
  if mode == "Single Transaction":
40
  st.subheader("Enter Transaction Features")
41
- feature_input = st.text_area("Enter 30 comma-separated features in correct order (Time, V1-V28, Amount)", "")
 
 
 
 
 
 
 
 
 
42
  if st.button("Predict"):
43
  if feature_input:
44
  features = list(map(float, feature_input.split(",")))
 
5
 
6
  rf_model = joblib.load("rf_model.joblib")
7
  xgb_model = joblib.load("xgb_model.joblib")
8
+ st.set_page_config(page_title="Fraud Detection System", page_icon="💳", layout="wide")
9
  st.title("Credit Card Fraud Detector")
10
+ st.markdown("Predict whether a transaction is **fraudulent** or **legitimate** in real-time")
11
  RF_WEIGHT = 0.4
12
  XGB_WEIGHT = 0.6
13
 
 
39
  mode = st.sidebar.radio("Choose input mode:", ["Single Transaction", "Batch CSV Upload"])
40
  if mode == "Single Transaction":
41
  st.subheader("Enter Transaction Features")
42
+ time_val = st.number_input("Transaction Time (seconds)", min_value=0, value=1000, step=1)
43
+ amount_val = st.number_input("Transaction Amount", min_value=0.0, value=1000.0, step=1.0)
44
+ st.markdown("### PCA Features (V1–V28)")
45
+ v_features = []
46
+ cols = st.columns(4)
47
+ for i in range(1, 29):
48
+ with cols[(i - 1) % 4]: # distribute across 4 columns
49
+ v = st.number_input(f"V{i}", value=0.0, format="%.4f")
50
+ v_features.append(v)
51
+ features = [time_val] + v_features + [amount_val]
52
  if st.button("Predict"):
53
  if feature_input:
54
  features = list(map(float, feature_input.split(",")))