SuperModelingFactory 0.6.1__tar.gz → 0.6.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/feature_validation.py +19 -2
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Master.py +27 -4
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Master.pyi +1 -1
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Plot_Tool.py +18 -8
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/__init__.py +1 -1
- {supermodelingfactory-0.6.1/SuperModelingFactory.egg-info → supermodelingfactory-0.6.3}/PKG-INFO +2 -2
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/README.md +1 -1
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3/SuperModelingFactory.egg-info}/PKG-INFO +2 -2
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/pyproject.toml +1 -1
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/setup.py +1 -1
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/ExcelMaster/ExcelFormatTool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/ExcelMaster/ExcelMaster.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/ExcelMaster/Template.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/ExcelMaster/Utility.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/ExcelMaster/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/LICENSE +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/MANIFEST.in +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Binning_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Binning_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Check_DuckDB_Compatibility.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Json_Data_Converter.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Model_Registry_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/ODPS_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Parallel_Engine.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Parallel_ODPS_Manager.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Proc_Compare.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Slope_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Slope_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/XOR_Encryptor.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/XOR_Encryptor.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/kDataFrame.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/kDataFrame.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/sample_weight_utils.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/utils.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/Evaluation_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/Evaluation_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/Model_Eval_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/Model_Eval_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/evaluate_model.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/evaluate_model.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/weighted_eval_utils.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Explainability/Coalition_Structure.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Explainability/Model_Explainer.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Explainability/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Distribution_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Distribution_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Feature_Insights.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Feature_Insights.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Feature_Screen.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/PSI_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/PSI_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/WOE_Engine_Feature_Patch.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Weighted_Screen.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/Backward_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/Backward_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/GBM_Search_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/GBM_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/GBM_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/LRM_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/LRM_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/_common.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/credit_model.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/field_meta.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/mock_sample.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/orchestrator.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/reject_inference.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/sample_analysis.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/score_comparison.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/score_consistency_uat.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/screening_artifact.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Distribution_Adaptation.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Distribution_Adaptation.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Reject_Infer.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Reject_Infer.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Sample_Split.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Sample_Split.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/UAT/UAT_Consistency_Checker.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/UAT/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Adapter.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Adapter.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Monotone_Binner.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Monotone_Binner.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Plot_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Report_Builder.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Report_Builder.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/plot_woe_tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/plot_woe_tool.pyi +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/_utils/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/_utils/nan_guard.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/_utils/robust.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/_utils/sentinels.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/ref_font/KaiTi.ttf +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/ref_font/WeiRuanYaHei.ttf +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/ref_font/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/ref_font/simsun.ttc +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Report/Report_Tool.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Report/__init__.py +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/SuperModelingFactory.egg-info/SOURCES.txt +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/SuperModelingFactory.egg-info/dependency_links.txt +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/SuperModelingFactory.egg-info/not-zip-safe +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/SuperModelingFactory.egg-info/requires.txt +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/SuperModelingFactory.egg-info/top_level.txt +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/requirements.txt +0 -0
- {supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/setup.cfg +0 -0
|
@@ -1243,11 +1243,28 @@ class FeatureValidationPipeline:
|
|
|
1243
1243
|
engine.plot_woe_graph(str(base_dir / f"by_{group}"), group_name=group, _df_for_group=train)
|
|
1244
1244
|
elif hasattr(engine, "plot_bivar_graph"):
|
|
1245
1245
|
transformed = engine.transform(train)
|
|
1246
|
-
|
|
1246
|
+
# Explicit group=None: WOE_Master.plot_bivar_graph made `group`
|
|
1247
|
+
# optional in 0.6.2; passing it explicitly documents intent and
|
|
1248
|
+
# keeps the call correct even on older WOE_Master builds where
|
|
1249
|
+
# `group` was positional (would raise TypeError there — which
|
|
1250
|
+
# is what the 0.6.2 logger.warning below now surfaces instead
|
|
1251
|
+
# of the pre-0.6.2 silent swallow).
|
|
1252
|
+
engine.plot_bivar_graph(transformed, group=None, dirname=str(base_dir))
|
|
1247
1253
|
for group in cfg.woe_plot_groups:
|
|
1248
1254
|
if group in transformed.columns:
|
|
1249
1255
|
engine.plot_bivar_graph(transformed, group=group, dirname=str(base_dir / f"by_{group}"))
|
|
1250
|
-
except Exception:
|
|
1256
|
+
except Exception as exc:
|
|
1257
|
+
# Never silently swallow: pre-0.6.2 a bare `except: return` here
|
|
1258
|
+
# hid the equal_freq blind-spot for the entire 0.5.x/0.6.0 line.
|
|
1259
|
+
engine_name = adapter.get_engine_name() if adapter is not None else "<unknown>"
|
|
1260
|
+
_logger.warning(
|
|
1261
|
+
"WOE plot generation failed and was skipped. "
|
|
1262
|
+
"engine=%s target=%s output_dir=%s error=%r",
|
|
1263
|
+
engine_name,
|
|
1264
|
+
target,
|
|
1265
|
+
str(base_dir),
|
|
1266
|
+
exc,
|
|
1267
|
+
)
|
|
1251
1268
|
return
|
|
1252
1269
|
|
|
1253
1270
|
def _build_selection_config(self) -> Any:
|
|
@@ -426,26 +426,49 @@ class WOE_Master(object):
|
|
|
426
426
|
|
|
427
427
|
self.woe_dict.update(new_woe_dict)
|
|
428
428
|
|
|
429
|
-
def plot_bivar_graph(self, data, group, dirname, varlist=None):
|
|
429
|
+
def plot_bivar_graph(self, data, group=None, dirname=None, varlist=None):
|
|
430
430
|
"""Plot bivariate WOE comparison graph.
|
|
431
431
|
|
|
432
432
|
Args:
|
|
433
433
|
data: pandas.DataFrame, data for plotting
|
|
434
|
-
group: str, grouping variable name for distinguishing curves
|
|
435
|
-
|
|
434
|
+
group: str or None, grouping variable name for distinguishing curves.
|
|
435
|
+
When ``None`` a single ungrouped curve per variable is drawn
|
|
436
|
+
and no ``by_<group>`` output is produced. Prior to 0.6.2 this
|
|
437
|
+
was a required positional argument, which silently broke
|
|
438
|
+
ungrouped callers (see `_plot_woe` in
|
|
439
|
+
`Modeling_Tool.Pipeline.feature_validation`). 0.6.3 also
|
|
440
|
+
fixes ``WOE_Plot_Tool.get_bivar_graph``: the ``if group:``
|
|
441
|
+
guard there was moved up to wrap the summary/align/plot
|
|
442
|
+
triplet — the guard used to sit *after* an unconditional
|
|
443
|
+
``data.groupby([None])`` that raised TypeError on ungrouped
|
|
444
|
+
calls.
|
|
445
|
+
dirname: str, subdirectory name for saving (under graph_save_dir).
|
|
446
|
+
Required in practice; kept keyword-only-in-practice by keeping
|
|
447
|
+
the ``group`` slot second for backward compatibility with any
|
|
448
|
+
pre-0.6.2 positional caller.
|
|
436
449
|
varlist: list, variables to plot (default: self.varlist)
|
|
437
450
|
Returns:
|
|
438
451
|
None, saves images directly
|
|
439
452
|
"""
|
|
453
|
+
if dirname is None:
|
|
454
|
+
raise TypeError("plot_bivar_graph() missing required argument: 'dirname'")
|
|
440
455
|
if varlist is None:
|
|
441
456
|
varlist = self.varlist
|
|
442
457
|
|
|
458
|
+
save_dir = os.path.join(self.graph_save_dir, dirname)
|
|
459
|
+
# matplotlib does not create parent directories on save. Historically
|
|
460
|
+
# callers were expected to `make_dirs(save_dir)` first; feature_validation
|
|
461
|
+
# only creates the base `figs/woe/<target>` and misses per-subdirectory
|
|
462
|
+
# nesting. Since this method already owns the composed path, own the
|
|
463
|
+
# `mkdir` too — avoids FileNotFoundError on the very first PNG write.
|
|
464
|
+
os.makedirs(save_dir, exist_ok=True)
|
|
465
|
+
|
|
443
466
|
get_bivar_graph(data=data,
|
|
444
467
|
varlist=varlist,
|
|
445
468
|
sep=self.dep,
|
|
446
469
|
ref_woe_table=self.get_mapping_table(),
|
|
447
470
|
group=group,
|
|
448
|
-
save_dir=
|
|
471
|
+
save_dir=save_dir)
|
|
449
472
|
|
|
450
473
|
|
|
451
474
|
# =============================================================================
|
|
@@ -32,7 +32,7 @@ class WOE_Master(object):
|
|
|
32
32
|
def save_mapping_table(self, save_dir): ...
|
|
33
33
|
def transform(self, data = None, varlist = None): ...
|
|
34
34
|
def update_woe(self, varlist, nbins = 10, equal_freq = True, tree_binning_seed = None, chi2_config = None, precision = 5, min_bin_prop = 0.05, include_missing = True, fillna = None, spec_values = []): ...
|
|
35
|
-
def plot_bivar_graph(self, data, group, dirname, varlist = None): ...
|
|
35
|
+
def plot_bivar_graph(self, data, group = None, dirname = None, varlist = None): ...
|
|
36
36
|
def load_mapping_table(mapping_table_csv): ...
|
|
37
37
|
def get_mapping_table(woe_dict): ...
|
|
38
38
|
def save_mapping_table(woe_dict, save_dir): ...
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Plot_Tool.py
RENAMED
|
@@ -548,15 +548,25 @@ def get_bivar_graph(data, varlist, sep, ref_woe_table, save_dir, group=None, woe
|
|
|
548
548
|
plot_woe(woe_df, to_show=False, save_dir=save_dir, fig_name = f"{var}.png")
|
|
549
549
|
|
|
550
550
|
################ Group WOE Table Plot ##########################
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
551
|
+
# 0.6.3: the `if group:` guard was moved UP to wrap the summary + align
|
|
552
|
+
# + plot triplet. Pre-0.6.3 the get_mapped_woe_summary / align_bin_num
|
|
553
|
+
# calls executed unconditionally with grp_name=[None], causing
|
|
554
|
+
# data.groupby([None]) → TypeError: 'NoneType' object is not callable
|
|
555
|
+
# inside get_mapped_woe_summary. The old `if group:` guard only wrapped
|
|
556
|
+
# the plot loop, so it never got a chance to gate the crash.
|
|
557
|
+
#
|
|
558
|
+
# Symptom in 0.6.2 pipelines: equal_freq WOE plot base-call raised
|
|
559
|
+
# TypeError, the caller's try/except turned it into a logger.warning,
|
|
560
|
+
# and the subsequent `for group in cfg.woe_plot_groups` loop was
|
|
561
|
+
# skipped — so by_<group>/*.png was never emitted for equal_freq.
|
|
559
562
|
if group:
|
|
563
|
+
grp_woe_res = get_mapped_woe_summary(data = data,
|
|
564
|
+
ref_woe_table = ref_woe_table,
|
|
565
|
+
tgt_name = sep,
|
|
566
|
+
varlist = varlist,
|
|
567
|
+
grp_name=[group])
|
|
568
|
+
|
|
569
|
+
grp_woe_res = align_bin_num(woe_table = ref_woe_table, grp_woe_df = grp_woe_res, grp_name = [group])
|
|
560
570
|
|
|
561
571
|
for var in varlist:
|
|
562
572
|
var = var.replace(woe_suffix, "")
|
{supermodelingfactory-0.6.1/SuperModelingFactory.egg-info → supermodelingfactory-0.6.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SuperModelingFactory
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.3
|
|
4
4
|
Summary: Credit risk modeling factory: WOE binning, scorecards, LightGBM, Excel reporting.
|
|
5
5
|
Home-page: https://github.com/Kyle-J-Sun/SuperModelingFactory
|
|
6
6
|
Author: Kyle Sun
|
|
@@ -265,7 +265,7 @@ em.close_workbook()
|
|
|
265
265
|
|
|
266
266
|
## 版本
|
|
267
267
|
|
|
268
|
-
- **Version**: 0.6.
|
|
268
|
+
- **Version**: 0.6.3
|
|
269
269
|
- **Author**: Jingkai Sun
|
|
270
270
|
|
|
271
271
|
## 许可证
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3/SuperModelingFactory.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SuperModelingFactory
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.3
|
|
4
4
|
Summary: Credit risk modeling factory: WOE binning, scorecards, LightGBM, Excel reporting.
|
|
5
5
|
Home-page: https://github.com/Kyle-J-Sun/SuperModelingFactory
|
|
6
6
|
Author: Kyle Sun
|
|
@@ -265,7 +265,7 @@ em.close_workbook()
|
|
|
265
265
|
|
|
266
266
|
## 版本
|
|
267
267
|
|
|
268
|
-
- **Version**: 0.6.
|
|
268
|
+
- **Version**: 0.6.3
|
|
269
269
|
- **Author**: Jingkai Sun
|
|
270
270
|
|
|
271
271
|
## 许可证
|
|
@@ -12,7 +12,7 @@ build-backend = "setuptools.build_meta"
|
|
|
12
12
|
|
|
13
13
|
[project]
|
|
14
14
|
name = "SuperModelingFactory"
|
|
15
|
-
version = "0.6.
|
|
15
|
+
version = "0.6.3"
|
|
16
16
|
description = "Credit risk modeling factory: WOE binning, scorecards, LightGBM, Excel reporting."
|
|
17
17
|
readme = "README.md"
|
|
18
18
|
requires-python = ">=3.10"
|
|
@@ -15,7 +15,7 @@ def _read(path: str) -> str:
|
|
|
15
15
|
|
|
16
16
|
setup(
|
|
17
17
|
name="SuperModelingFactory",
|
|
18
|
-
version=os.environ.get("SMF_VERSION", "0.6.
|
|
18
|
+
version=os.environ.get("SMF_VERSION", "0.6.3"),
|
|
19
19
|
description="Credit risk modeling factory: WOE binning, scorecards, LightGBM, Excel reporting.",
|
|
20
20
|
long_description=_read("README.md"),
|
|
21
21
|
long_description_content_type="text/markdown",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Binning_Tool.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Binning_Tool.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Json_Data_Converter.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Model_Registry_Tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Parallel_Engine.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/Proc_Compare.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/XOR_Encryptor.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/XOR_Encryptor.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Core/sample_weight_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/Evaluation_Tool.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/Evaluation_Tool.pyi
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/Model_Eval_Tool.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/Model_Eval_Tool.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/evaluate_model.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/evaluate_model.pyi
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Eval/weighted_eval_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Explainability/__init__.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Distribution_Tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Feature_Insights.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Feature_Insights.pyi
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Feature_Screen.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/PSI_Tool.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Feature/Weighted_Screen.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/Backward_Tool.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/Backward_Tool.pyi
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Model/GBM_Search_Tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/credit_model.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/field_meta.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/mock_sample.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/orchestrator.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/reject_inference.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/sample_analysis.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Pipeline/score_comparison.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Reject_Infer.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Reject_Infer.pyi
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Sample_Split.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/Sample/Sample_Split.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Monotone_Binner.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Monotone_Binner.pyi
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Plot_Tool.pyi
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Report_Builder.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/WOE_Report_Builder.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/plot_woe_tool.py
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/WOE/plot_woe_tool.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/ref_font/WeiRuanYaHei.ttf
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/Modeling_Tool/ref_font/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/SuperModelingFactory.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/SuperModelingFactory.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{supermodelingfactory-0.6.1 → supermodelingfactory-0.6.3}/SuperModelingFactory.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|