Spaces:
Sleeping
Sleeping
# Importing data | |
import pandas as pd | |
from sklearn.linear_model import LogisticRegression | |
import numpy as np | |
from sklearn.ensemble import RandomForestClassifier | |
from sklearn.tree import DecisionTreeClassifier | |
from sklearn.ensemble import VotingClassifier | |
import joblib,os | |
import gradio as gr | |
script_dir=os.path.dirname(os.path.abspath(__file__)) | |
model_path=os.path.join(script_dir,'model','EnsembleModel.joblib') | |
Ensemble_Model=joblib.load(model_path) | |
# Function | |
def Fraud(payments, min_pay, oneoff_p, purch, balance): | |
df=pd.DataFrame({'payments':[payments],'minimum_payments':[min_pay], | |
'oneoff_purchases':[oneoff_p],'purchases':[purch], | |
'balance':[balance]}) | |
# prob={"Probability of Fraud": round(float(Ensemble_Model.predict_proba(df)[0][1]),4)} | |
prob= "The probability of fraud is: "+str(round(float(Ensemble_Model.predict_proba(df)[0][1]),4)) | |
return prob | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
gr.Label('Fraud Detector 💰🏧💳', label='Alpha Bank™') | |
with gr.Row(): | |
# gr.Image("model/alpha.jpg", scale=2) | |
gr.Markdown('Share the following monthly information for detecting fraud activity') | |
with gr.Row(): | |
interface=[ | |
gr.Slider(0,60000,label='Payments per month'), | |
gr.Slider(0,80000,label='Minimum payments per month'), | |
gr.Slider(0,50000, label='One-time purchases average amount'), | |
gr.Slider(0,50000, label='Subscription services regular payments '), | |
gr.Slider(0,25000, label='Balance amount') | |
] | |
with gr.Row(): | |
predict_but=gr.Button('Analyse activity') | |
output= gr.Textbox(label='Result') | |
predict_but.click(fn=Fraud, inputs=interface, outputs=output) | |
if __name__ == "__main__": | |
# print("here") | |
# block1.launch() | |
demo.launch() | |