miayulia/Lendingkart-FinalProject
0
1import streamlit as st2import pandas as pd3import numpy as np4import joblib5import pickle6from sklearn.cluster import KMeans7# import streamlit_extras8# from streamlit_extras.colored_header import colored_header9 10st.image('lendingkart_owler_20190913_181413_original.jpg')11st.title('Lendingkart')12st.subheader('Think Cash, Think Lendingkart!')13# colored_header(14# label="Lendingkart",15# description='Think Cash, Think Lendingkart!',16# color_name="orange-70",17# )18@st.cache_data19def fetch_data():20 df = pd.read_csv('loan_approval_dataset.csv')21 return df22 23df = fetch_data()24df.columns = df.columns.str.replace(' ', '')25 26classification, clustering = st.tabs(['Loan Approval', 'Customers Cluster'])27with classification :28 29 st.write('Predicting customers loan approval based criterias below:')30 31 cibil_score =st.number_input('cibil_score', value=0)32 loan_term = st.select_slider('loan_term', [2,4,6,8,10,12,14,16,18,20])33 34 data = {35 'cibil_score': cibil_score,36 'loan_term': loan_term,37 }38 input = pd.DataFrame(data, index=[0])39 st.subheader('Summary :')40 st.write(input)41 42 # load files43 classification = joblib.load("classification.pkl")44 45 if st.button('Loan Approval'):46 prediction = classification.predict(input)47 48 if prediction == 0:49 prediction = 'Approved'50 st.write('Approved')51 st.success('This Customer is Approved! Please input the proposal documents below.')52 st.balloons()53 st.file_uploader('Upload Here')54 else:55 prediction = 'Rejected'56 st.write('Rejected')57 st.warning('Sorry the customer is rejected. Offer them with another program.')58 59# Create a unique key for each widget60widget_keys = {61 'income_annum': 'widget_income_annum',62 'loan_amount': 'widget_loan_amount',63 'cibil_score': 'widget_cibil_score',64 'residential_assets_value': 'widget_residential_assets_value',65 'commercial_assets_value': 'widget_commercial_assets_value',66 'luxury_assets_value': 'widget_luxury_assets_value',67 'bank_asset_value': 'widget_bank_asset_value'68}69 70with clustering: 71 st.write('Predicting customers class based criterias below:')72 73 income_annum = st.number_input('income_annum', value=0, key=widget_keys['income_annum'])74 loan_amount = st.number_input('loan_amount', value=0, key=widget_keys['loan_amount'])75 cibil_score = st.number_input('cibil_score', value=0, key=widget_keys['cibil_score'])76 residential_assets_value = st.number_input('residential_assets_value', value=0, key=widget_keys['residential_assets_value'])77 commercial_assets_value = st.number_input('commercial_assets_value', value=0, key=widget_keys['commercial_assets_value'])78 luxury_assets_value = st.number_input('luxury_assets_value', value=0, key=widget_keys['luxury_assets_value'])79 bank_asset_value = st.number_input('bank_asset_value', value=0, key=widget_keys['bank_asset_value'])80 81 data = {82 'income_annum': income_annum,83 'loan_amount': loan_amount,84 'cibil_score': cibil_score,85 'residential_assets_value': residential_assets_value,86 'commercial_assets_value': commercial_assets_value,87 'luxury_assets_value': luxury_assets_value,88 'bank_asset_value': bank_asset_value89 }90 input1 = pd.DataFrame(data, index=[0])91 92 load_model1 = joblib.load("clustering.pkl")93 if st.button('Cluster'):94 prediction1 = load_model1.predict(input1)95 96 if prediction1 == 0:97 prediction = 'Class B'98 else:99 prediction = 'Class B'100 101 st.write('This customer is from:')102 st.write(prediction)103 