|
import streamlit as st |
|
import pandas as pd |
|
import joblib |
|
|
|
st.title('Fraud Detection') |
|
|
|
st.write('Please review the attributes below, then hit the Submit button to get your results.') |
|
|
|
st.header('Input Attributes') |
|
|
|
|
|
time = st.number_input('Time', min_value=0.0, max_value=20000.0, value=472.0, step=1.0) |
|
v3 = st.number_input('V3', min_value=-4.0, max_value=4.0, value=1.088, step=0.001) |
|
v7 = st.number_input('V7', min_value=-4.0, max_value=4.0, value=0.325, step=0.001) |
|
v10 = st.number_input('V10', min_value=-4.0, max_value=4.0, value=-0.838, step=0.001) |
|
v12 = st.number_input('V12', min_value=-4.0, max_value=4.0, value=-0.414, step=0.001) |
|
v14 = st.number_input('V14', min_value=-4.0, max_value=4.0, value=-0.503, step=0.001) |
|
v16 = st.number_input('V16', min_value=-4.0, max_value=4.0, value=-1.692, step=0.001) |
|
v17 = st.number_input('V17', min_value=-4.0, max_value=4.0, value=0.666, step=0.001) |
|
amount = st.number_input('Amount', min_value=1.0, max_value=30000.0, value=529.0, step=0.1) |
|
|
|
submit_button = st.button('Submit') |
|
|
|
if submit_button: |
|
try: |
|
|
|
ensemble_model = joblib.load('updated_ensemble.pkl') |
|
|
|
|
|
new_data = pd.DataFrame({ |
|
'Time': [time], |
|
'V3': [v3], |
|
'V7': [v7], |
|
'V10': [v10], |
|
'V12': [v12], |
|
'V14': [v14], |
|
'V16': [v16], |
|
'V17': [v17], |
|
'Amount': [amount] |
|
}) |
|
|
|
|
|
prediction = ensemble_model.predict(new_data) |
|
|
|
st.header('Prediction') |
|
|
|
if prediction[0] == 0: |
|
st.title('Not Fraud') |
|
else: |
|
st.title('Fraud') |
|
except Exception as e: |
|
st.error(f"An error occurred: {e}") |
|
st.error("Ensure the model file is in the correct path") |
|
|