|
@@ -13,7 +13,6 @@ from sklearn.linear_model import LogisticRegression
|
|
from commom import f_df_to_image
|
|
from commom import f_df_to_image
|
|
from entitys import DataPreparedEntity, MetricFucEntity, DataSplitEntity
|
|
from entitys import DataPreparedEntity, MetricFucEntity, DataSplitEntity
|
|
from feature import f_calcu_model_ks, f_get_model_score_bin, f_calcu_model_psi
|
|
from feature import f_calcu_model_ks, f_get_model_score_bin, f_calcu_model_psi
|
|
-from init import f_get_save_path
|
|
|
|
from .model_base import ModelBase
|
|
from .model_base import ModelBase
|
|
|
|
|
|
|
|
|
|
@@ -50,7 +49,7 @@ class ModelLr(ModelBase):
|
|
card_df = pd.DataFrame(columns=card['basepoints'].keys())
|
|
card_df = pd.DataFrame(columns=card['basepoints'].keys())
|
|
for k, v in card.items():
|
|
for k, v in card.items():
|
|
card_df = pd.concat((card_df, v))
|
|
card_df = pd.concat((card_df, v))
|
|
- card_df_path = f_get_save_path(f"card_df.png")
|
|
+ card_df_path = self._train_config.f_get_save_path(f"card_df.png")
|
|
f_df_to_image(card_df, card_df_path)
|
|
f_df_to_image(card_df, card_df_path)
|
|
metric_value_dict["评分卡"] = MetricFucEntity(image_path=card_df_path)
|
|
metric_value_dict["评分卡"] = MetricFucEntity(image_path=card_df_path)
|
|
|
|
|
|
@@ -65,7 +64,7 @@ class ModelLr(ModelBase):
|
|
train_prob = self.lr.predict_proba(train_data.get_Xdata())[:, 1]
|
|
train_prob = self.lr.predict_proba(train_data.get_Xdata())[:, 1]
|
|
image_path_list = []
|
|
image_path_list = []
|
|
train_perf = sc.perf_eva(train_y, train_prob, title="train", show_plot=True)
|
|
train_perf = sc.perf_eva(train_y, train_prob, title="train", show_plot=True)
|
|
- path = f_get_save_path(f"train_perf.png")
|
|
+ path = self._train_config.f_get_save_path(f"train_perf.png")
|
|
train_perf["pic"].savefig(path)
|
|
train_perf["pic"].savefig(path)
|
|
image_path_list.append(path)
|
|
image_path_list.append(path)
|
|
|
|
|
|
@@ -78,7 +77,7 @@ class ModelLr(ModelBase):
|
|
test_prob = self.lr.predict_proba(test_data.get_Xdata())[:, 1]
|
|
test_prob = self.lr.predict_proba(test_data.get_Xdata())[:, 1]
|
|
test_y = test_data.get_Ydata()
|
|
test_y = test_data.get_Ydata()
|
|
test_perf = sc.perf_eva(test_y, test_prob, title="test", show_plot=True)
|
|
test_perf = sc.perf_eva(test_y, test_prob, title="test", show_plot=True)
|
|
- path = f_get_save_path(f"test_perf.png")
|
|
+ path = self._train_config.f_get_save_path(f"test_perf.png")
|
|
test_perf["pic"].savefig(path)
|
|
test_perf["pic"].savefig(path)
|
|
image_path_list.append(path)
|
|
image_path_list.append(path)
|
|
test_auc = test_perf["KS"]
|
|
test_auc = test_perf["KS"]
|
|
@@ -94,19 +93,19 @@ class ModelLr(ModelBase):
|
|
|
|
|
|
train_data_original, score_bins = f_get_model_score_bin(train_data_original, card)
|
|
train_data_original, score_bins = f_get_model_score_bin(train_data_original, card)
|
|
train_data_gain = f_calcu_model_ks(train_data_original, y_column, sort_ascending=True)
|
|
train_data_gain = f_calcu_model_ks(train_data_original, y_column, sort_ascending=True)
|
|
- train_data_gain_path = f_get_save_path(f"train_data_gain.png")
|
|
+ train_data_gain_path = self._train_config.f_get_save_path(f"train_data_gain.png")
|
|
f_df_to_image(train_data_gain, train_data_gain_path)
|
|
f_df_to_image(train_data_gain, train_data_gain_path)
|
|
metric_value_dict["训练集分数分箱"] = MetricFucEntity(image_path=train_data_gain_path)
|
|
metric_value_dict["训练集分数分箱"] = MetricFucEntity(image_path=train_data_gain_path)
|
|
if test_data is not None:
|
|
if test_data is not None:
|
|
test_data_original, bins = f_get_model_score_bin(test_data_original, card, score_bins)
|
|
test_data_original, bins = f_get_model_score_bin(test_data_original, card, score_bins)
|
|
test_data_gain = f_calcu_model_ks(test_data_original, y_column, sort_ascending=True)
|
|
test_data_gain = f_calcu_model_ks(test_data_original, y_column, sort_ascending=True)
|
|
- test_data_gain_path = f_get_save_path(f"test_data_gain.png")
|
|
+ test_data_gain_path = self._train_config.f_get_save_path(f"test_data_gain.png")
|
|
f_df_to_image(test_data_gain, test_data_gain_path)
|
|
f_df_to_image(test_data_gain, test_data_gain_path)
|
|
metric_value_dict["测试集分数分箱"] = MetricFucEntity(image_path=test_data_gain_path)
|
|
metric_value_dict["测试集分数分箱"] = MetricFucEntity(image_path=test_data_gain_path)
|
|
|
|
|
|
|
|
|
|
model_psi = f_calcu_model_psi(train_data_original, test_data_original)
|
|
model_psi = f_calcu_model_psi(train_data_original, test_data_original)
|
|
- model_psi_path = f_get_save_path(f"model_psi.png")
|
|
+ model_psi_path = self._train_config.f_get_save_path(f"model_psi.png")
|
|
f_df_to_image(model_psi, model_psi_path)
|
|
f_df_to_image(model_psi, model_psi_path)
|
|
metric_value_dict["模型稳定性"] = MetricFucEntity(value=model_psi["psi"].sum().round(4), image_path=model_psi_path)
|
|
metric_value_dict["模型稳定性"] = MetricFucEntity(value=model_psi["psi"].sum().round(4), image_path=model_psi_path)
|
|
|
|
|