Zirok05 commited on
Commit
f35d061
·
verified ·
1 Parent(s): e70f878

Update app/models/escalation.py

Browse files
Files changed (1) hide show
  1. app/models/escalation.py +3 -10
app/models/escalation.py CHANGED
@@ -68,12 +68,6 @@ def check_business_rules(df):
68
  manual_mask[mask] = True
69
  messages = np.where(mask, 'Количество кредитов под залог недвижимости слишком велико - ручной разбор', messages)
70
 
71
- # print(f"age: min={age.min()}, max={age.max()}")
72
- # print(f"income: max={monthly_income.max()}")
73
- # print(f"late_90: values 96/98: {np.sum((late_90 == 96) | (late_90 == 98))}")
74
- # print(f"utilization: max={utilization.max()}")
75
- # print(f"real_estate: max={real_estate.max()}")
76
-
77
  return manual_mask, auto_reject_mask, messages, auto_decisions
78
 
79
 
@@ -99,14 +93,13 @@ def escalation_decision(applications_df, lr_model, second_model, second_model_na
99
  'business_auto': 0, # авто отказ по бизнес-правилам
100
  'lr_confident': 0, # уверенно решены LR
101
  'second_confident': 0, # уверенно решены второй моделью
102
- 'second_uncertain': 0, # неуверенность второй модели → ручной
103
  'total': n
104
  }
105
 
106
  # 1. Бизнес-правила
107
  bus_manual_mask, bus_reject_mask, bus_messages, bus_decisions = check_business_rules(applications_df)
108
- # После check_business_rules
109
- #print(f"Бизнес-правила: manual={bus_manual_mask.sum()}, auto_reject={bus_reject_mask.sum()}")
110
  # Обрабатываем сразу отказ
111
  for i in range(n):
112
  if bus_reject_mask[i]:
@@ -201,7 +194,7 @@ def escalation_decision(applications_df, lr_model, second_model, second_model_na
201
  uncertain_positions = [j for j in range(len(model_indices)) if not lr_confident[j]]
202
  processed_uncertain_scaled = processed_scaled.iloc[uncertain_positions]
203
 
204
- # Вторая модель (батч)
205
  second_probas = second_model.predict_proba(processed_uncertain_scaled)[:, 1]
206
 
207
  # Определяем отступы для второй модели
 
68
  manual_mask[mask] = True
69
  messages = np.where(mask, 'Количество кредитов под залог недвижимости слишком велико - ручной разбор', messages)
70
 
 
 
 
 
 
 
71
  return manual_mask, auto_reject_mask, messages, auto_decisions
72
 
73
 
 
93
  'business_auto': 0, # авто отказ по бизнес-правилам
94
  'lr_confident': 0, # уверенно решены LR
95
  'second_confident': 0, # уверенно решены второй моделью
96
+ 'second_uncertain': 0, # неуверенность второй модели
97
  'total': n
98
  }
99
 
100
  # 1. Бизнес-правила
101
  bus_manual_mask, bus_reject_mask, bus_messages, bus_decisions = check_business_rules(applications_df)
102
+
 
103
  # Обрабатываем сразу отказ
104
  for i in range(n):
105
  if bus_reject_mask[i]:
 
194
  uncertain_positions = [j for j in range(len(model_indices)) if not lr_confident[j]]
195
  processed_uncertain_scaled = processed_scaled.iloc[uncertain_positions]
196
 
197
+ # Вторая модель
198
  second_probas = second_model.predict_proba(processed_uncertain_scaled)[:, 1]
199
 
200
  # Определяем отступы для второй модели