File size: 4,622 Bytes
ca7e86a
3700024
ca7e86a
 
3700024
ca7e86a
 
 
88c3f93
ca7e86a
d6a5aca
 
 
 
 
ca7e86a
 
 
 
 
d6a5aca
 
ca7e86a
 
d6a5aca
ca7e86a
f642fd2
ca7e86a
 
 
 
 
5ec6deb
d6a5aca
ca7e86a
 
d6a5aca
ca7e86a
 
 
d6a5aca
ca7e86a
 
5ec6deb
d6a5aca
 
ca7e86a
d6a5aca
ca7e86a
 
 
 
 
 
 
d6a5aca
ca7e86a
 
 
 
d6a5aca
 
 
9618086
 
 
d6a5aca
 
9618086
d6a5aca
 
 
 
 
 
 
 
 
 
 
ca7e86a
 
d6a5aca
 
ca7e86a
d6a5aca
 
 
 
ca7e86a
 
d6a5aca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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):
    # Add input fields for High, Open, and Low values
    image = 'Ramdevs2'
    st.image(image, use_column_width=True)
    
    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")
    nameOrig = transform(le, [nameOrig])
    oldbalanceOrg = st.number_input("Balance before the transaction")
    newbalanceOrig = st.number_input("Balance after the transaction")
    nameDest = st.text_input("Recipient ID")
    nameDest = transform(le, [nameDest])
    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
    features = [[step, typeup, amount, nameOrig, oldbalanceOrg, newbalanceOrig, nameDest, 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 not happened")
        else:
           st.success("Online payment fraud happened")

def about_RamDevs():
    components.html("""
    <div>
        <h4>🚀 Unlock Your Ultimate safe transactions with RamDevs Community!</h4>
        <p class="subtitle">🔍 Seeking the perfect advisors for better safety? RamDevs Community is your gateway to success in a safe society. Explore free expert sessions, customer support, and password transformation tips.</p>
        <p class="subtitle">💼 We offer many programs in <b>Fraud Detection, CyberSecurity knowledge, Password encryption</b>, and assist customers in adopting <b>ALL THIS</b> free of costs.</p>
        <p class="subtitle">🆓 Best of all, everything we offer is <b>completely free</b>! We are dedicated to helping society.</p>
        <p class="subtitle">Book free of cost 1:1 mentorship on any topic of your choice — <a class="link" href="https://topmate.io/deepakchawla1307">topmate</a></p>
        <p class="subtitle">✨ We dedicate over 30 minutes to each applicant’s Passwords, Previous Transactions, mock fraud transactions, and much more. If you’d like our guidance, check out our services <a class="link" href="https://RamDevscommunity.wixsite.com/RamDevs">here</a></p>
        <p class="subtitle">💡 Join us now, and turbocharge your career!</p>
        <p class="subtitle">
            <a class="link" href="https://RamDevscommunity.wixsite.com/RamDevs" target="__blank">Website</a>
            <a class="link" href="https://www.youtube.com/@RamDevsCommunity1307/" target="__blank">YouTube</a>
            <a class="link" href="https://www.instagram.com/RamDevs_community/" target="__blank">Instagram</a>
            <a class="link" href="https://medium.com/@RamDevscommunity" target="__blank">Medium</a>
            <a class="link" href="https://www.linkedin.com/company/RamDevs-community/" target="__blank">LinkedIn</a>
            <a class="link" href="https://github.com/RamDevscommunity" target="__blank">GitHub</a>
        </p>
    </div>
    """, 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()