import streamlit as st import numpy as np import pickle import streamlit.components.v1 as components from sklearn.preprocessing import LabelEncoder # Load the pickled model def load_model(): return pickle.load(open('online_payment_fraud_detection_randomforest.pkl', 'rb')) # Load the LabelEncoder def load_label_encoder(): with open('label_encoder.pkl', 'rb') as f: return pickle.load(f) # Function for model prediction def model_prediction(model, features): predicted = str(model.predict(features)[0]) return predicted def transform(le, text): text = le.transform(text) return text[0] def app_design(le): st.subheader("Enter the following values:") step = st.number_input("Step: represents a unit of time where 1 step equals 1 hour") typeup = st.selectbox('Type of online transaction', ('PAYMENT', 'TRANSFER', 'CASH_OUT', 'DEBIT', 'CASH_IN')) typeup = transform(le, [typeup]) amount = st.number_input("The amount of the transaction") nameOrig = st.text_input("Transaction ID") # Don't transform oldbalanceOrg = st.number_input("Balance before the transaction") newbalanceOrig = st.number_input("Balance after the transaction") nameDest = st.text_input("Recipient ID") # Don't transform oldbalanceDest = st.number_input("Initial balance of recipient before the transaction") newbalanceDest = st.number_input("The new balance of recipient after the transaction") isFlaggedFraud = st.selectbox('IsFlaggedFraud', ('Yes', 'No')) isFlaggedFraud = transform(le, [isFlaggedFraud]) # Create a feature list from the user inputs # ➔ set nameOrig and nameDest as 0 features = [[step, typeup, amount, 0, oldbalanceOrg, newbalanceOrig, 0, oldbalanceDest, newbalanceDest, isFlaggedFraud]] # Load the model model = load_model() # Make a prediction when the user clicks the "Predict" button if st.button('Predict Online Payment Fraud'): predicted_value = model_prediction(model, features) if predicted_value == '1': st.success("⚠️ Online payment fraud detected") else: st.success("✅ No online payment fraud detected") def about_RamDevs(): components.html("""

🚀 Unlock Your Easy Safety with RamDevs Community!

🔍 Seeking the perfect hassle-free safe online transactions? RamDevs Community is your gateway to easier and safer transactions. Explore free expert sessions, customer support, and password transformation tips.

💼 We offer an upskill program in CyberSecurity, Password management, Legal Terms and Services, and assist customers in security and safer online transactions at minimal development costs.

🆓 Best of all, everything we offer is completely free! We are dedicated to helping society.

Book free of cost 1:1 mentorship on any topic of your choice — topmate

✨ We dedicate over 30 minutes to each applicant’s Password selection, Online profile, mock frauds, and upskill program. If you’d like our guidance, check out our services here

💡 Join us now, and turbocharge your CyberSecurity!

Website YouTube Instagram Medium LinkedIn GitHub

""", height=600) def main(): st.set_page_config(page_title="Online Payment Fraud Detection", page_icon=":chart_with_upwards_trend:") st.title("Welcome to our Online Payment Fraud Detection App!") le = load_label_encoder() app_design(le) st.header("About RamDevs Community") about_RamDevs() if __name__ == '__main__': main()