| import streamlit as st | |
| import pandas as pd | |
| import numpy as np | |
| import joblib | |
| model = joblib.load('Fraud_txn_detection_xgboost.pkl') | |
| st.title('Fraud Transaction detector ') | |
| st.markdown("Please fill in the detail and press predict") | |
| st.divider() | |
| import streamlit as st | |
| import numpy as np | |
| import pandas as pd | |
| st.title("Fraud Detection Input Form") | |
| type_map = {"TRANSFER": 0, "CASH_OUT": 1} | |
| type_choice = st.selectbox("Transaction Type", options=list(type_map.keys())) | |
| type_val = type_map[type_choice] | |
| amount = st.number_input("Transaction Amount", min_value=0.0, value=1000.0) | |
| oldbalanceOrg = st.number_input("Old Balance (Origin)", min_value=0.0, value=5000.0) | |
| newbalanceOrig = st.number_input("New Balance (Origin)", min_value=0.0, value=4000.0) | |
| oldbalanceDest = st.number_input("Old Balance (Destination)", min_value=0.0, value=0.0) | |
| newbalanceDest = st.number_input("New Balance (Destination)", min_value=0.0, value=1000.0) | |
| errordiffbalanceOrg = newbalanceOrig + amount - oldbalanceOrg | |
| errordiffbalanceDest = oldbalanceDest + amount - newbalanceDest | |
| if st.button("Predict"): | |
| input_data = pd.DataFrame([{ | |
| 'type': type_val, | |
| 'amount': amount, | |
| 'oldbalanceOrg': oldbalanceOrg, | |
| 'newbalanceOrig': newbalanceOrig, | |
| 'oldbalanceDest': oldbalanceDest, | |
| 'newbalanceDest': newbalanceDest, | |
| 'errordiffbalanceOrg': errordiffbalanceOrg, | |
| 'errordiffbalanceDest': errordiffbalanceDest | |
| }]) | |
| prediction = model.predict(input_data)[0] | |
| st.subheader(f"Prediction : {prediction}") | |
| if prediction ==1: | |
| st.error("This Transaction is fraud") | |
| else: | |
| st.success("Transaction is not fraud") | |