harish199 commited on
Commit
0a7ecd0
1 Parent(s): 0238920

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -8
app.py CHANGED
@@ -21,11 +21,12 @@ X.columns
21
  from sklearn.model_selection import train_test_split
22
  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)
23
 
 
24
 
25
  from sklearn.preprocessing import StandardScaler
26
  scaler_normal = StandardScaler()
27
  def scaler(data, runtime = False):
28
- normal_col = ['person_income','person_age','person_emp_length', 'loan_amnt','loan_int_rate','cb_person_cred_hist_length']
29
  if(runtime == False):
30
  data.loc[:,normal_col] = scaler_normal.fit_transform(data.loc[:,normal_col])
31
  else:
@@ -35,8 +36,8 @@ def scaler(data, runtime = False):
35
  X_train = scaler(X_train)
36
  X_test = scaler(X_test, True)
37
 
38
- rfn_model = RandomForestClassifier(max_depth = 5)
39
- rfn_model.fit(X_train, y_train)
40
 
41
  features = {
42
  "person_home_ownership": ['MORTGAGE', 'OTHER','OWN', 'RENT',],
@@ -52,13 +53,15 @@ def preprocess(model_input):
52
  model_input[f'{feature}_{option}'] = 1
53
  else:
54
  model_input[f'{feature}_{option}'] = 0
55
-
56
  model_input.drop([_ for _ in features], inplace = True, axis = 1)
57
  return model_input
58
 
 
59
 
60
- def credit_run(person_age, person_emp_length,person_home_ownership,cb_person_default_on_file,loan_intent,loan_grade,person_income, loan_amnt,
61
- loan_int_rate, cb_person_cred_hist_length):
 
62
  model_input = preprocess(
63
  pd.DataFrame( { 'person_age': person_age,
64
  'person_income': person_income,
@@ -68,12 +71,13 @@ def credit_run(person_age, person_emp_length,person_home_ownership,cb_person_def
68
  'loan_grade': loan_grade,
69
  'loan_amnt': loan_amnt,
70
  'loan_int_rate': loan_int_rate,
 
71
  'cb_person_default_on_file': cb_person_default_on_file,
72
  'cb_person_cred_hist_length': cb_person_cred_hist_length
73
  }, index = [0]
74
  ))
75
- out = rfn_model.predict(model_input)
76
- return "High risk of defaulting" if out[0] == 1 else "Low risk of defaulting"
77
 
78
  import gradio as gr
79
  with gr.Blocks(theme=gr.themes.Soft()) as demo:
 
21
  from sklearn.model_selection import train_test_split
22
  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)
23
 
24
+ X_train.head()
25
 
26
  from sklearn.preprocessing import StandardScaler
27
  scaler_normal = StandardScaler()
28
  def scaler(data, runtime = False):
29
+ normal_col = ['person_income','person_age','person_emp_length', 'loan_amnt','loan_int_rate','cb_person_cred_hist_length','loan_percent_income']
30
  if(runtime == False):
31
  data.loc[:,normal_col] = scaler_normal.fit_transform(data.loc[:,normal_col])
32
  else:
 
36
  X_train = scaler(X_train)
37
  X_test = scaler(X_test, True)
38
 
39
+ rf_model = RandomForestClassifier(max_depth = 5)
40
+ rf_model.fit(X_train, y_train)
41
 
42
  features = {
43
  "person_home_ownership": ['MORTGAGE', 'OTHER','OWN', 'RENT',],
 
53
  model_input[f'{feature}_{option}'] = 1
54
  else:
55
  model_input[f'{feature}_{option}'] = 0
56
+
57
  model_input.drop([_ for _ in features], inplace = True, axis = 1)
58
  return model_input
59
 
60
+
61
 
62
+ def credit_run(person_age, person_income, person_home_ownership,
63
+ person_emp_length, loan_intent, loan_grade, loan_amnt,
64
+ loan_int_rate, cb_person_default_on_file, cb_person_cred_hist_length):
65
  model_input = preprocess(
66
  pd.DataFrame( { 'person_age': person_age,
67
  'person_income': person_income,
 
71
  'loan_grade': loan_grade,
72
  'loan_amnt': loan_amnt,
73
  'loan_int_rate': loan_int_rate,
74
+ 'loan_percent_income': loan_amnt / person_income,
75
  'cb_person_default_on_file': cb_person_default_on_file,
76
  'cb_person_cred_hist_length': cb_person_cred_hist_length
77
  }, index = [0]
78
  ))
79
+ out = rf_model.predict(model_input)
80
+ return "High risk of defaulting" if out[0] == 1 else "Low risk of defaulting"
81
 
82
  import gradio as gr
83
  with gr.Blocks(theme=gr.themes.Soft()) as demo: