workbench 0.8.204__py3-none-any.whl → 0.8.205__py3-none-any.whl
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.
- workbench/core/artifacts/endpoint_core.py +41 -16
- workbench/model_scripts/uq_models/generated_model_script.py +1 -1
- {workbench-0.8.204.dist-info → workbench-0.8.205.dist-info}/METADATA +1 -1
- {workbench-0.8.204.dist-info → workbench-0.8.205.dist-info}/RECORD +8 -8
- {workbench-0.8.204.dist-info → workbench-0.8.205.dist-info}/WHEEL +0 -0
- {workbench-0.8.204.dist-info → workbench-0.8.205.dist-info}/entry_points.txt +0 -0
- {workbench-0.8.204.dist-info → workbench-0.8.205.dist-info}/licenses/LICENSE +0 -0
- {workbench-0.8.204.dist-info → workbench-0.8.205.dist-info}/top_level.txt +0 -0
|
@@ -436,19 +436,14 @@ class EndpointCore(Artifact):
|
|
|
436
436
|
|
|
437
437
|
# Normalize targets to a list for iteration
|
|
438
438
|
target_list = targets if isinstance(targets, list) else [targets]
|
|
439
|
+
primary_target = target_list[0]
|
|
439
440
|
|
|
440
|
-
# For
|
|
441
|
-
#
|
|
442
|
-
|
|
443
|
-
# Determine capture name: use prefix for multi-target, original name for single-target
|
|
444
|
-
if len(target_list) > 1:
|
|
445
|
-
prefix = "auto" if "auto" in capture_name else capture_name
|
|
446
|
-
target_capture_name = f"{prefix}_{target}"
|
|
447
|
-
else:
|
|
448
|
-
target_capture_name = capture_name
|
|
449
|
-
|
|
450
|
-
description = target_capture_name.replace("_", " ").title()
|
|
441
|
+
# For auto_inference, use shorter "auto_{target}" naming
|
|
442
|
+
# Otherwise use "{capture_name}_{target}"
|
|
443
|
+
prefix = "auto" if capture_name == "auto_inference" else capture_name
|
|
451
444
|
|
|
445
|
+
# Save results for each target, plus primary target with original capture_name
|
|
446
|
+
for target in target_list:
|
|
452
447
|
# Drop rows with NaN target values for metrics/plots
|
|
453
448
|
target_df = prediction_df.dropna(subset=[target])
|
|
454
449
|
|
|
@@ -460,6 +455,9 @@ class EndpointCore(Artifact):
|
|
|
460
455
|
else:
|
|
461
456
|
target_metrics = pd.DataFrame()
|
|
462
457
|
|
|
458
|
+
# Save as {prefix}_{target}
|
|
459
|
+
target_capture_name = f"{prefix}_{target}"
|
|
460
|
+
description = target_capture_name.replace("_", " ").title()
|
|
463
461
|
self._capture_inference_results(
|
|
464
462
|
target_capture_name,
|
|
465
463
|
target_df,
|
|
@@ -471,6 +469,19 @@ class EndpointCore(Artifact):
|
|
|
471
469
|
id_column,
|
|
472
470
|
)
|
|
473
471
|
|
|
472
|
+
# Also save primary target with original capture_name for backward compatibility
|
|
473
|
+
if target == primary_target:
|
|
474
|
+
self._capture_inference_results(
|
|
475
|
+
capture_name,
|
|
476
|
+
target_df,
|
|
477
|
+
target,
|
|
478
|
+
model.model_type,
|
|
479
|
+
target_metrics,
|
|
480
|
+
capture_name.replace("_", " ").title(),
|
|
481
|
+
features,
|
|
482
|
+
id_column,
|
|
483
|
+
)
|
|
484
|
+
|
|
474
485
|
# For UQ Models we also capture the uncertainty metrics
|
|
475
486
|
if model.model_type in [ModelType.UQ_REGRESSOR]:
|
|
476
487
|
metrics = uq_metrics(prediction_df, primary_target)
|
|
@@ -561,13 +572,11 @@ class EndpointCore(Artifact):
|
|
|
561
572
|
|
|
562
573
|
# Normalize targets to a list for iteration
|
|
563
574
|
target_list = targets if isinstance(targets, list) else [targets]
|
|
575
|
+
primary_target = target_list[0]
|
|
564
576
|
|
|
565
|
-
#
|
|
566
|
-
#
|
|
577
|
+
# Save results for each target as cv_{target}
|
|
578
|
+
# Also save primary target as "full_cross_fold" for backward compatibility
|
|
567
579
|
for target in target_list:
|
|
568
|
-
capture_name = f"cv_{target}"
|
|
569
|
-
description = capture_name.replace("_", " ").title()
|
|
570
|
-
|
|
571
580
|
# Drop rows with NaN target values for metrics/plots
|
|
572
581
|
target_df = out_of_fold_df.dropna(subset=[target])
|
|
573
582
|
|
|
@@ -579,6 +588,9 @@ class EndpointCore(Artifact):
|
|
|
579
588
|
else:
|
|
580
589
|
target_metrics = pd.DataFrame()
|
|
581
590
|
|
|
591
|
+
# Save as cv_{target}
|
|
592
|
+
capture_name = f"cv_{target}"
|
|
593
|
+
description = capture_name.replace("_", " ").title()
|
|
582
594
|
self._capture_inference_results(
|
|
583
595
|
capture_name,
|
|
584
596
|
target_df,
|
|
@@ -590,6 +602,19 @@ class EndpointCore(Artifact):
|
|
|
590
602
|
id_column=id_column,
|
|
591
603
|
)
|
|
592
604
|
|
|
605
|
+
# Also save primary target as "full_cross_fold" for backward compatibility
|
|
606
|
+
if target == primary_target:
|
|
607
|
+
self._capture_inference_results(
|
|
608
|
+
"full_cross_fold",
|
|
609
|
+
target_df,
|
|
610
|
+
target,
|
|
611
|
+
model_type,
|
|
612
|
+
target_metrics,
|
|
613
|
+
"Full Cross Fold",
|
|
614
|
+
features=additional_columns,
|
|
615
|
+
id_column=id_column,
|
|
616
|
+
)
|
|
617
|
+
|
|
593
618
|
return out_of_fold_df
|
|
594
619
|
|
|
595
620
|
def fast_inference(self, eval_df: pd.DataFrame, threads: int = 4) -> pd.DataFrame:
|
|
@@ -20,7 +20,7 @@ from typing import List, Tuple, Optional, Dict
|
|
|
20
20
|
# Template Placeholders
|
|
21
21
|
TEMPLATE_PARAMS = {
|
|
22
22
|
"target": "udm_asy_res_efflux_ratio",
|
|
23
|
-
"features": ['smr_vsa4', 'tpsa', 'nhohcount', 'mollogp', '
|
|
23
|
+
"features": ['smr_vsa4', 'tpsa', 'nhohcount', 'peoe_vsa1', 'mollogp', 'vsa_estate3', 'xc_4dv', 'smr_vsa3', 'tertiary_amine_count', 'peoe_vsa8', 'minpartialcharge', 'nitrogen_span', 'vsa_estate2', 'chi1v', 'hba_hbd_ratio', 'molecular_axis_length', 'molmr', 'vsa_estate4', 'num_s_centers', 'vsa_estate6', 'qed', 'numhdonors', 'mi', 'estate_vsa4', 'axp_7d', 'kappa3', 'asphericity', 'estate_vsa8', 'estate_vsa2', 'estate_vsa3', 'peoe_vsa3', 'xp_6dv', 'bcut2d_logphi', 'vsa_estate8', 'amphiphilic_moment', 'type_ii_pattern_count', 'minestateindex', 'charge_centroid_distance', 'molecular_asymmetry', 'molecular_volume_3d', 'bcut2d_mrlow', 'axp_1d', 'vsa_estate9', 'aromatic_interaction_score', 'xp_7dv', 'bcut2d_mwlow', 'axp_7dv', 'slogp_vsa1', 'maxestateindex', 'fr_al_oh', 'nbase', 'xp_2dv', 'radius_of_gyration', 'sps', 'xch_7d', 'bcut2d_mrhi', 'axp_0dv', 'vsa_estate5', 'hallkieralpha', 'xp_0dv', 'fr_nhpyrrole', 'smr_vsa1', 'smr_vsa6', 'chi2v', 'bcut2d_mwhi', 'estate_vsa6', 'bcut2d_logplow', 'peoe_vsa2', 'fractioncsp3', 'slogp_vsa2', 'c3sp3', 'peoe_vsa7', 'estate_vsa9', 'peoe_vsa9', 'avgipc', 'smr_vsa9', 'xpc_4dv', 'balabanj', 'axp_1dv', 'mv', 'minabsestateindex', 'bcut2d_chglo', 'fpdensitymorgan2', 'axp_4d', 'numsaturatedheterocycles', 'fpdensitymorgan1', 'axp_3dv', 'axp_5d', 'smr_vsa5', 'bcut2d_chghi', 'axp_3d', 'xpc_5dv', 'chi4n', 'peoe_vsa10', 'vsa_estate7', 'peoe_vsa11', 'estate_vsa10', 'xp_7d', 'slogp_vsa5', 'xch_7dv', 'vsa_estate10', 'labuteasa', 'estate_vsa5', 'xp_3d', 'chi1', 'xch_4dv', 'xp_6d', 'estate_vsa1', 'axp_4dv', 'phi', 'xp_3dv', 'xch_6dv', 'smr_vsa10', 'num_r_centers', 'xc_5d', 'maxpartialcharge', 'xc_3d', 'peoe_vsa6', 'fr_imidazole', 'axp_2d', 'slogp_vsa3', 'mz', 'axp_6dv', 'xch_6d', 'mm', 'numatomstereocenters', 'c1sp3', 'chi1n', 'fpdensitymorgan3', 'xp_5dv', 'chi3v', 'slogp_vsa4', 'fr_ether', 'xp_2d', 'chi3n', 'xch_5dv', 'axp_6d', 'xc_5dv', 'numheterocycles', 'mpe', 'fr_hoccn', 'xc_3dv', 'type_i_pattern_count', 'chi0v', 'xch_4d', 'numsaturatedcarbocycles', 'mp', 'xch_5d', 'maxabspartialcharge', 'axp_2dv', 'bertzct', 'sse', 'xpc_6dv', 'sv', 'xpc_4d', 'si', 'chi0n', 'mse', 'xpc_6d', 'peoe_vsa12', 'xpc_5d', 'kappa2', 'axp_5dv', 'kappa1', 'chi2n', 'intramolecular_hbond_potential', 'fr_nh0', 'numaliphaticheterocycles', 'smr_vsa7', 'mare', 'fr_priamide', 'vsa_estate1', 'num_stereocenters', 'fr_nh1', 'estate_vsa7', 'fr_piperzine', 'c1sp2', 'slogp_vsa6', 'xp_5d', 'fr_aryl_methyl', 'molwt', 'chi4v', 'xc_6dv', 'heavyatommolwt', 'xp_4d', 'sp', 'slogp_vsa7', 'numhacceptors', 'c2sp3', 'peoe_vsa4', 'slogp_vsa10', 'fr_morpholine', 'fr_methoxy', 'fr_aniline', 'xp_4dv', 'fr_urea', 'c3sp2', 'fr_pyridine', 'hybratio', 'fr_thiazole', 'minabspartialcharge', 'sm', 'axp_0d', 'numaromaticheterocycles', 'nocount', 'xc_4d', 'peoe_vsa13', 'fr_amide', 'num_defined_stereocenters', 'amide_count', 'xc_6d', 'numrotatablebonds', 'c2sp2', 'fr_piperdine', 'numvalenceelectrons', 'c1sp1', 'fr_nitrile', 'fr_phenol', 'c4sp3', 'spe', 'numheteroatoms', 'estate_vsa11', 'sz', 'chi0', 'smr_vsa2', 'fr_ketone_topliss', 'slogp_vsa11', 'fr_benzene', 'fr_ndealkylation2', 'peoe_vsa5', 'fr_c_o', 'numsaturatedrings', 'exactmolwt', 'sare', 'numaliphaticrings', 'fr_al_oh_notert', 'fr_imine', 'frac_defined_stereo', 'numunspecifiedatomstereocenters', 'fr_ar_n', 'fr_bicyclic', 'fr_c_o_nocoo', 'numspiroatoms', 'fr_sulfone', 'fr_ndealkylation1'],
|
|
24
24
|
"compressed_features": [],
|
|
25
25
|
"train_all_data": True,
|
|
26
26
|
"hyperparameters": {'n_estimators': 500, 'max_depth': 6, 'learning_rate': 0.04},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: workbench
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.205
|
|
4
4
|
Summary: Workbench: A Dashboard and Python API for creating and deploying AWS SageMaker Model Pipelines
|
|
5
5
|
Author-email: SuperCowPowers LLC <support@supercowpowers.com>
|
|
6
6
|
License: MIT License
|
|
@@ -55,7 +55,7 @@ workbench/core/artifacts/data_capture_core.py,sha256=q8f79rRTYiZ7T4IQRWXl8ZvPpcv
|
|
|
55
55
|
workbench/core/artifacts/data_source_abstract.py,sha256=5IRCzFVK-17cd4NXPMRfx99vQAmQ0WHE5jcm5RfsVTg,10619
|
|
56
56
|
workbench/core/artifacts/data_source_factory.py,sha256=YL_tA5fsgubbB3dPF6T4tO0rGgz-6oo3ge4i_YXVC-M,2380
|
|
57
57
|
workbench/core/artifacts/df_store_core.py,sha256=AueNr_JvuLLu_ByE7cb3u-isH9u0Q7cMP-UCgCX-Ctg,3536
|
|
58
|
-
workbench/core/artifacts/endpoint_core.py,sha256=
|
|
58
|
+
workbench/core/artifacts/endpoint_core.py,sha256=eyjEd8KXMkqUwI7rFuuT0cMZMMrdSBSj3moR-EagS8w,60244
|
|
59
59
|
workbench/core/artifacts/feature_set_core.py,sha256=wZy-02WXWmSBet5t8mWXFRdv9O4MtW3hWqJuVv7Kok0,39330
|
|
60
60
|
workbench/core/artifacts/model_core.py,sha256=QIgV5MJr8aDY63in83thdNc5-bzkWLn5f5vvsS4aNYo,52348
|
|
61
61
|
workbench/core/artifacts/monitor_core.py,sha256=M307yz7tEzOEHgv-LmtVy9jKjSbM98fHW3ckmNYrwlU,27897
|
|
@@ -157,7 +157,7 @@ workbench/model_scripts/pytorch_model/requirements.txt,sha256=ICS5nW0wix44EJO2tJ
|
|
|
157
157
|
workbench/model_scripts/scikit_learn/generated_model_script.py,sha256=xhQIglpAgPRCH9iwI3wI0N0V6p9AgqW0mVOMuSXzUCk,17187
|
|
158
158
|
workbench/model_scripts/scikit_learn/requirements.txt,sha256=aVvwiJ3LgBUhM_PyFlb2gHXu_kpGPho3ANBzlOkfcvs,107
|
|
159
159
|
workbench/model_scripts/scikit_learn/scikit_learn.template,sha256=QQvqx-eX9ZTbYmyupq6R6vIQwosmsmY_MRBPaHyfjdk,12586
|
|
160
|
-
workbench/model_scripts/uq_models/generated_model_script.py,sha256=
|
|
160
|
+
workbench/model_scripts/uq_models/generated_model_script.py,sha256=0HqH1bY3fXgZTQAFLxfnrPfBEQvTmeMus5C2z7HoeyU,26765
|
|
161
161
|
workbench/model_scripts/uq_models/mapie.template,sha256=on3I40D7zyNfvfqBf5k8VXCFtmepcxKmqVWCH5Q9S84,23432
|
|
162
162
|
workbench/model_scripts/uq_models/requirements.txt,sha256=fw7T7t_YJAXK3T6Ysbesxh_Agx_tv0oYx72cEBTqRDY,98
|
|
163
163
|
workbench/model_scripts/xgb_model/generated_model_script.py,sha256=qUGg5R-boaswzXtgKp_J7JPxFzMdRNv51QeF-lMWL-4,19334
|
|
@@ -291,9 +291,9 @@ workbench/web_interface/page_views/main_page.py,sha256=X4-KyGTKLAdxR-Zk2niuLJB2Y
|
|
|
291
291
|
workbench/web_interface/page_views/models_page_view.py,sha256=M0bdC7bAzLyIaE2jviY12FF4abdMFZmg6sFuOY_LaGI,2650
|
|
292
292
|
workbench/web_interface/page_views/page_view.py,sha256=Gh6YnpOGlUejx-bHZAf5pzqoQ1H1R0OSwOpGhOBO06w,455
|
|
293
293
|
workbench/web_interface/page_views/pipelines_page_view.py,sha256=v2pxrIbsHBcYiblfius3JK766NZ7ciD2yPx0t3E5IJo,2656
|
|
294
|
-
workbench-0.8.
|
|
295
|
-
workbench-0.8.
|
|
296
|
-
workbench-0.8.
|
|
297
|
-
workbench-0.8.
|
|
298
|
-
workbench-0.8.
|
|
299
|
-
workbench-0.8.
|
|
294
|
+
workbench-0.8.205.dist-info/licenses/LICENSE,sha256=RTBoTMeEwTgEhS-n8vgQ-VUo5qig0PWVd8xFPKU6Lck,1080
|
|
295
|
+
workbench-0.8.205.dist-info/METADATA,sha256=4fgPE_3_5UQK9Av-WuIaRPZW-nwcIJVekAXYPbyx5hU,10500
|
|
296
|
+
workbench-0.8.205.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
297
|
+
workbench-0.8.205.dist-info/entry_points.txt,sha256=j02NCuno2Y_BuE4jEvw-IL73WZ9lkTpLwom29uKcLCw,458
|
|
298
|
+
workbench-0.8.205.dist-info/top_level.txt,sha256=Dhy72zTxaA_o_yRkPZx5zw-fwumnjGaeGf0hBN3jc_w,10
|
|
299
|
+
workbench-0.8.205.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|