CoolFace
Apppublic

Praneeth04/Anti-Money-Laundering-Detection-using-Deep-Learning

sourceHugging Faceupdated 4mo agoView on Hugging Face
0likes
app.py60 linesDownload Raw Back to root
1import streamlit as st
2import pickle
3from tensorflow.keras.models import load_model
4import pandas as pd
5import numpy as np
6
7
8with open('ANN project.pkl','rb')as f:
9    preprocessor=pickle.load(f)
10
11model=load_model('model.keras')
12
13df=pd.read_csv('LI-Small_Trans_new.csv')
14
15st.title('Money Laundering')
16
17col1,col2=st.columns(2)
18
19with col1:
20    From_Bank=st.selectbox('From Bank',df['From Bank'].unique())
21
22with col2:
23    To_Bank=st.selectbox('To Bank',df['To Bank'].unique())
24
25
26Amount_Paid=st.number_input('Enter the Amount to Pay',min_value=100)
27Payment_Currency=st.selectbox('Select Currency',df['Payment Currency'].unique())
28Payment_Format=st.selectbox('Select the Payment_Format',df['Payment Format'].unique())
29
30df['Timestamp'] = pd.to_datetime(df['Timestamp'])
31df['Hour'] = df['Timestamp'].dt.hour
32
33Hour = st.selectbox('Enter the Hour of Payment  Done', df['Hour'].unique())
34df['DayofWeek'] = df['Timestamp'].dt.dayofweek
35
36DayofWeek = st.selectbox('Enter Day of week', df['DayofWeek'].unique())
37
38data=pd.DataFrame({'From Bank':[From_Bank],'To Bank':[To_Bank],'Amount Paid':[Amount_Paid],
39                   'Payment Currency':[Payment_Currency],'Payment Format':[Payment_Format],
40                   'Hour':[Hour],'DayofWeek':[DayofWeek]})
41
42
43data['From Bank'] = data['From Bank'].astype(object)
44data['To Bank'] = data['To Bank'].astype(object)
45data['Payment Currency'] = data['Payment Currency'].astype(object)
46data['Payment Format'] = data['Payment Format'].astype(object)
47
48
49if st.button('Predict'):
50    preprocessed_data=preprocessor.transform(data)
51    ypred=np.where(model.predict(preprocessed_data)>0.5,1,0)
52
53    if ypred[0][0]==1:
54       st.warning('Money is Laundering')
55    else:
56        st.success('No Money Laundering')
57    prob = model.predict(preprocessed_data)
58   
59    st.success(f"Probability Of Fraud Transaction: {prob[0][0]:.2f}")
60