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.
@@ -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 multi-target models, use target-specific capture names (e.g., auto_target1, auto_target2)
441
- # For single-target models, use the original capture name for backward compatibility
442
- for target in target_list:
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
- # For multi-target models, use target-specific capture names (e.g., cv_target1, cv_target2)
566
- # For single-target models, use "full_cross_fold" for backward compatibility
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', 'peoe_vsa1', 'smr_vsa3', 'nitrogen_span', 'numhdonors', 'minpartialcharge', 'vsa_estate3', 'vsa_estate6', 'tertiary_amine_count', 'hba_hbd_ratio', 'peoe_vsa8', 'estate_vsa4', 'xc_4dv', 'vsa_estate2', 'molmr', 'xp_2dv', 'mi', 'molecular_axis_length', 'vsa_estate4', 'xp_6dv', 'qed', 'estate_vsa8', 'chi1v', 'asphericity', 'axp_1d', 'bcut2d_logphi', 'kappa3', 'axp_7d', 'num_s_centers', 'amphiphilic_moment', 'molecular_asymmetry', 'charge_centroid_distance', 'estate_vsa3', 'vsa_estate8', 'aromatic_interaction_score', 'molecular_volume_3d', 'axp_7dv', 'peoe_vsa3', 'smr_vsa6', 'bcut2d_mrhi', 'radius_of_gyration', 'xpc_4dv', 'minabsestateindex', 'axp_0dv', 'chi4n', 'balabanj', 'bcut2d_mwlow', 'estate_vsa2', 'axp_5d', 'maxestateindex', 'bcut2d_mrlow', 'type_ii_pattern_count', 'avgipc', 'slogp_vsa1', 'fr_nhpyrrole', 'xch_7d', 'axp_1dv', 'peoe_vsa9', 'xch_6d', 'xch_5dv', 'bcut2d_chglo', 'fpdensitymorgan1', 'fr_al_oh', 'axp_5dv', 'smr_vsa5', 'chi2v', 'estate_vsa6', 'smr_vsa9', 'minestateindex', 'bcut2d_logplow', 'c3sp3', 'xp_3d', 'vsa_estate9', 'nbase', 'peoe_vsa2', 'numatomstereocenters', 'xc_5dv', 'bcut2d_mwhi', 'nocount', 'slogp_vsa2', 'smr_vsa1', 'axp_6d', 'maxabspartialcharge', 'vsa_estate5', 'fpdensitymorgan2', 'xp_7d', 'peoe_vsa10', 'num_r_centers', 'mv', 'vsa_estate10', 'xp_0dv', 'axp_4d', 'fractioncsp3', 'smr_vsa10', 'xp_7dv', 'xp_4dv', 'hallkieralpha', 'numhacceptors', 'axp_3d', 'vsa_estate7', 'slogp_vsa3', 'peoe_vsa7', 'estate_vsa10', 'axp_2d', 'c1sp3', 'axp_2dv', 'slogp_vsa4', 'estate_vsa9', 'xch_7dv', 'sps', 'chi0n', 'axp_6dv', 'fr_imidazole', 'xpc_4d', 'bcut2d_chghi', 'chi3n', 'peoe_vsa11', 'xpc_6d', 'estate_vsa1', 'xch_6dv', 'chi3v', 'axp_3dv', 'xc_5d', 'slogp_vsa5', 'maxpartialcharge', 'estate_vsa5', 'fr_hoccn', 'heavyatommolwt', 'fr_ar_n', 'mz', 'xpc_5d', 'axp_4dv', 'xc_3dv', 'xp_6d', 'bertzct', 'peoe_vsa6', 'xc_3d', 'c2sp2', 'fpdensitymorgan3', 'xpc_5dv', 'intramolecular_hbond_potential', 'molwt', 'estate_vsa7', 'xp_5d', 'kappa1', 'xp_5dv', 'chi2n', 'axp_0d', 'xch_4dv', 'xp_4d', 'mp', 'chi1n', 'mm', 'fr_nh0', 'phi', 'labuteasa', 'xp_3dv', 'mse', 'xc_6dv', 'fr_piperzine', 'chi4v', 'xch_4d', 'fr_pyridine', 'xp_2d', 'num_stereocenters', 'minabspartialcharge', 'numaliphaticheterocycles', 'chi0v', 'type_i_pattern_count', 'fr_ketone_topliss', 'fr_ether', 'fr_priamide', 'num_defined_stereocenters', 'mare', 'peoe_vsa12', 'numheteroatoms', 'peoe_vsa4', 'peoe_vsa13', 'hybratio', 'numheterocycles', 'sse', 'fr_c_o_nocoo', 'fr_thiazole', 'slogp_vsa6', 'smr_vsa7', 'vsa_estate1', 'xch_5d', 'smr_vsa2', 'amide_count', 'fr_amide', 'chi1', 'fr_urea', 'fr_aniline', 'fr_aryl_methyl', 'fr_piperdine', 'numrotatablebonds', 'fr_nitrile', 'si', 'sp', 'fr_morpholine', 'numsaturatedheterocycles', 'kappa2', 'chi0', 'mpe', 'sare', 'numaromaticheterocycles', 'naromatom', 'xpc_6dv', 'fr_nh1', 'slogp_vsa10', 'numsaturatedrings', 'c2sp3', 'slogp_vsa8', 'c1sp2', 'fr_ndealkylation2', 'spe', 'xc_6d', 'slogp_vsa11', 'numaliphaticcarbocycles', 'frac_defined_stereo', 'numunspecifiedatomstereocenters', 'fr_benzene', 'xp_1d', 'xc_4d', 'fr_methoxy', 'c4sp3', 'numvalenceelectrons', 'fr_bicyclic', 'fr_imine', 'fr_sulfone', 'c3sp2', 'ringcount', 'slogp_vsa7', 'exactmolwt', 'fr_al_oh_notert', 'fr_tetrazole', 'peoe_vsa14', 'xch_3d', 'fr_para_hydroxylation', 'numspiroatoms'],
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.204
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=8HlZw4ZTsSIqYrCsbawfqrQMQo4Y9paiudq8ihN1Mzo,59317
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=ivKtB-3MdJVnppxKez4Vz7jLW5i_sb0gLTGOcYJZ_PM,26758
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.204.dist-info/licenses/LICENSE,sha256=RTBoTMeEwTgEhS-n8vgQ-VUo5qig0PWVd8xFPKU6Lck,1080
295
- workbench-0.8.204.dist-info/METADATA,sha256=M0chxsmVPAHxPCzxcL9fzH_nS3fu2Bc_DCkDGpaPyeU,10500
296
- workbench-0.8.204.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
297
- workbench-0.8.204.dist-info/entry_points.txt,sha256=j02NCuno2Y_BuE4jEvw-IL73WZ9lkTpLwom29uKcLCw,458
298
- workbench-0.8.204.dist-info/top_level.txt,sha256=Dhy72zTxaA_o_yRkPZx5zw-fwumnjGaeGf0hBN3jc_w,10
299
- workbench-0.8.204.dist-info/RECORD,,
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,,