Praneeth04/Anti-Money-Laundering-Detection-using-Deep-Learning
0
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 