|
import streamlit as st |
|
import numpy as np |
|
import pickle |
|
import streamlit.components.v1 as components |
|
from sklearn.preprocessing import LabelEncoder |
|
le = LabelEncoder() |
|
|
|
|
|
def load_model(): |
|
return pickle.load(open('Credit_Card_Classification_LogisticRegression.pkl','rb')) |
|
|
|
|
|
def model_prediction(model, features): |
|
predicted = str(model.predict(features)[0]) |
|
return predicted |
|
|
|
def transform(text): |
|
text = le.fit_transform(text) |
|
return text[0] |
|
|
|
def app_design(): |
|
|
|
image = 'credit.png' |
|
st.image(image, use_column_width=True) |
|
|
|
st.subheader("Enter the following values:") |
|
|
|
Gender = st.selectbox("Gender",('Male','Female')) |
|
if Gender == 'Male': |
|
Gender = 1 |
|
else: |
|
Gender = 0 |
|
Age= st.number_input("Age") |
|
Debt= st.number_input("Debt") |
|
Married= st.selectbox("Married",('Yes','No')) |
|
if Married == 'Yes': |
|
Married = 1 |
|
else: |
|
Married = 0 |
|
BankCustomer= st.number_input("Bank Customer") |
|
Industry= st.text_input("Industry") |
|
Industry = transform([Industry]) |
|
Ethnicity= st.text_input("Ethnicity") |
|
Ethnicity = transform([Ethnicity]) |
|
YearsEmployed = st.number_input("Years Employed") |
|
PriorDefault= st.selectbox("Prior Default",('Yes','No')) |
|
if PriorDefault == 'Yes': |
|
PriorDefault = 1 |
|
else: |
|
PriorDefault = 0 |
|
Employed= st.selectbox("Employed",('Yes','No')) |
|
if Employed == 'Yes': |
|
Employed = 1 |
|
else: |
|
Employed = 0 |
|
CreditScore = st.number_input("Credit Score") |
|
DriversLicense= st.selectbox("Drivers License",('Yes','No')) |
|
if DriversLicense == 'Yes': |
|
DriversLicense = 1 |
|
else: |
|
DriversLicense = 0 |
|
Citizen= st.selectbox("Citizen",('ByBirth','ByOtherMeans')) |
|
if Citizen == 'ByBirth': |
|
Citizen = 1 |
|
else: |
|
Citizen = 0 |
|
ZipCode= st.number_input("ZipCode") |
|
Income= st.number_input("Income") |
|
|
|
|
|
features = [[Gender, Age,Debt,Married,BankCustomer,Industry,Ethnicity,YearsEmployed,PriorDefault,Employed,CreditScore,DriversLicense,Citizen,ZipCode,Income]] |
|
|
|
|
|
model = load_model() |
|
|
|
|
|
if st.button('Predict Status'): |
|
predicted_value = model_prediction(model, features) |
|
if(predicted_value==1): |
|
st.success(f"The credit card is approved") |
|
|
|
else: |
|
st.success(f"The credit card is not approved") |
|
|
|
|
|
|
|
|
|
def main(): |
|
|
|
|
|
st.set_page_config( |
|
page_title="Credit Card Classification Model", |
|
page_icon=":chart_with_upwards_trend:", |
|
) |
|
|
|
|
|
st.title("Welcome to our Credit Card Classification Model!") |
|
app_design() |
|
|
|
|
|
if __name__ == '__main__': |
|
main() |