@memberjunction/ng-core-entity-forms 6.2.0-edge.5 → 6.2.0-edge.7
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.
- package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.d.ts +2 -0
- package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js +103 -95
- package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +6 -0
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +7 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +2 -0
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +4 -2
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +2 -0
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +21 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.d.ts +2 -0
- package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +29 -11
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.js +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +3 -3
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +2 -0
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.js +2 -0
- package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
- package/dist/lib/custom/Files/file-form.component.d.ts +8 -0
- package/dist/lib/custom/Files/file-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Files/file-form.component.js +21 -5
- package/dist/lib/custom/Files/file-form.component.js.map +1 -1
- package/dist/lib/custom/Files/file-form.logic.d.ts +7 -0
- package/dist/lib/custom/Files/file-form.logic.d.ts.map +1 -1
- package/dist/lib/custom/Files/file-form.logic.js +20 -0
- package/dist/lib/custom/Files/file-form.logic.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +5 -5
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +11 -4
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -1
- package/dist/lib/custom/MLModels/ml-model-view-models.js +14 -0
- package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -1
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +15 -0
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -1
- package/dist/lib/custom/MLModels/ps-model-detail.component.js +186 -92
- package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-child-labels.d.ts +12 -0
- package/dist/lib/custom/Queries/query-child-labels.d.ts.map +1 -0
- package/dist/lib/custom/Queries/query-child-labels.js +28 -0
- package/dist/lib/custom/Queries/query-child-labels.js.map +1 -0
- package/dist/lib/custom/Queries/query-fields-grid.component.d.ts +37 -0
- package/dist/lib/custom/Queries/query-fields-grid.component.d.ts.map +1 -0
- package/dist/lib/custom/Queries/query-fields-grid.component.js +321 -0
- package/dist/lib/custom/Queries/query-fields-grid.component.js.map +1 -0
- package/dist/lib/custom/Queries/query-form-logic.d.ts +37 -0
- package/dist/lib/custom/Queries/query-form-logic.d.ts.map +1 -0
- package/dist/lib/custom/Queries/query-form-logic.js +48 -0
- package/dist/lib/custom/Queries/query-form-logic.js.map +1 -0
- package/dist/lib/custom/Queries/query-form.component.d.ts +78 -7
- package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +742 -688
- package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-parameters-grid.component.d.ts +31 -0
- package/dist/lib/custom/Queries/query-parameters-grid.component.d.ts.map +1 -0
- package/dist/lib/custom/Queries/query-parameters-grid.component.js +298 -0
- package/dist/lib/custom/Queries/query-parameters-grid.component.js.map +1 -0
- package/dist/lib/custom/Rubrics/record-forms.component.js +2 -2
- package/dist/lib/custom/Rubrics/record-forms.component.js.map +1 -1
- package/dist/lib/custom/Rubrics/scale-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Rubrics/scale-form.component.js +2 -1
- package/dist/lib/custom/Rubrics/scale-form.component.js.map +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts +19 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +20 -27
- package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.js +14 -6
- package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +121 -111
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +41 -35
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +32 -3
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +234 -226
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentConfiguration/mjaiagentconfiguration.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentConfiguration/mjaiagentconfiguration.form.component.js +25 -6
- package/dist/lib/generated/Entities/MJAIAgentConfiguration/mjaiagentconfiguration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRelationship/mjaiagentrelationship.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRelationship/mjaiagentrelationship.form.component.js +13 -3
- package/dist/lib/generated/Entities/MJAIAgentRelationship/mjaiagentrelationship.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +105 -103
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJBrandKit/mjbrandkit.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJBrandKit/mjbrandkit.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJBrandKit/mjbrandkit.form.component.js +91 -0
- package/dist/lib/generated/Entities/MJBrandKit/mjbrandkit.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJBrandKitAsset/mjbrandkitasset.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJBrandKitAsset/mjbrandkitasset.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJBrandKitAsset/mjbrandkitasset.form.component.js +72 -0
- package/dist/lib/generated/Entities/MJBrandKitAsset/mjbrandkitasset.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJCalendarEventLink/mjcalendareventlink.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJCalendarEventLink/mjcalendareventlink.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJCalendarEventLink/mjcalendareventlink.form.component.js +74 -0
- package/dist/lib/generated/Entities/MJCalendarEventLink/mjcalendareventlink.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJCalendarSyncState/mjcalendarsyncstate.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJCalendarSyncState/mjcalendarsyncstate.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJCalendarSyncState/mjcalendarsyncstate.form.component.js +64 -0
- package/dist/lib/generated/Entities/MJCalendarSyncState/mjcalendarsyncstate.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js +62 -16
- package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js +46 -10
- package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js +28 -10
- package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegrationObject/mjcompanyintegrationobject.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJCompanyIntegrationObject/mjcompanyintegrationobject.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJCompanyIntegrationObject/mjcompanyintegrationobject.form.component.js +189 -0
- package/dist/lib/generated/Entities/MJCompanyIntegrationObject/mjcompanyintegrationobject.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJCompanyIntegrationObjectField/mjcompanyintegrationobjectfield.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJCompanyIntegrationObjectField/mjcompanyintegrationobjectfield.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJCompanyIntegrationObjectField/mjcompanyintegrationobjectfield.form.component.js +116 -0
- package/dist/lib/generated/Entities/MJCompanyIntegrationObjectField/mjcompanyintegrationobjectfield.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js +51 -35
- package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js +36 -18
- package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js +74 -60
- package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentItemChunk/mjcontentitemchunk.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJContentItemChunk/mjcontentitemchunk.form.component.js +30 -32
- package/dist/lib/generated/Entities/MJContentItemChunk/mjcontentitemchunk.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js +43 -35
- package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js +21 -19
- package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js +45 -29
- package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js +19 -17
- package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +485 -441
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityAlternateBaseView/mjentityalternatebaseview.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJEntityAlternateBaseView/mjentityalternatebaseview.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJEntityAlternateBaseView/mjentityalternatebaseview.form.component.js +129 -0
- package/dist/lib/generated/Entities/MJEntityAlternateBaseView/mjentityalternatebaseview.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js +27 -9
- package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +24 -6
- package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFile/mjfile.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js +48 -12
- package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js +26 -8
- package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js +24 -6
- package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJIntegrationObjectField/mjintegrationobjectfield.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJIntegrationObjectField/mjintegrationobjectfield.form.component.js +25 -6
- package/dist/lib/generated/Entities/MJIntegrationObjectField/mjintegrationobjectfield.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js +77 -57
- package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJQueryEntity/mjqueryentity.form.component.js +10 -8
- package/dist/lib/generated/Entities/MJQueryEntity/mjqueryentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJQueryField/mjqueryfield.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJQueryField/mjqueryfield.form.component.js +15 -3
- package/dist/lib/generated/Entities/MJQueryField/mjqueryfield.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJQueryParameter/mjqueryparameter.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJQueryParameter/mjqueryparameter.form.component.js +12 -4
- package/dist/lib/generated/Entities/MJQueryParameter/mjqueryparameter.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +209 -137
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js +50 -38
- package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJVideoArchetype/mjvideoarchetype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJVideoArchetype/mjvideoarchetype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJVideoArchetype/mjvideoarchetype.form.component.js +80 -0
- package/dist/lib/generated/Entities/MJVideoArchetype/mjvideoarchetype.form.component.js.map +1 -0
- package/dist/lib/generated/generated-forms.module.d.ts +449 -441
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +26 -2
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/dist/lib/panels/brand-kits/brand-kit-assets.panel.d.ts +15 -0
- package/dist/lib/panels/brand-kits/brand-kit-assets.panel.d.ts.map +1 -0
- package/dist/lib/panels/brand-kits/brand-kit-assets.panel.js +52 -0
- package/dist/lib/panels/brand-kits/brand-kit-assets.panel.js.map +1 -0
- package/dist/lib/panels/brand-kits/brand-kit-generation-policy.panel.d.ts +15 -0
- package/dist/lib/panels/brand-kits/brand-kit-generation-policy.panel.d.ts.map +1 -0
- package/dist/lib/panels/brand-kits/brand-kit-generation-policy.panel.js +52 -0
- package/dist/lib/panels/brand-kits/brand-kit-generation-policy.panel.js.map +1 -0
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +10 -0
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.js +15 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +4 -0
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.js +77 -61
- package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
- package/dist/lib/shared/components/template-editor.component.d.ts +37 -0
- package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
- package/dist/lib/shared/components/template-editor.component.js +424 -285
- package/dist/lib/shared/components/template-editor.component.js.map +1 -1
- package/dist/public-api.d.ts +2 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +50 -48
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure view-model functions and types for ML Model detail and metrics rendering.
|
|
3
|
-
* Framework-free, deterministic calculations over plain model entity data.
|
|
4
|
-
*/
|
|
5
1
|
export interface PSFeatureBar {
|
|
6
2
|
name: string;
|
|
7
3
|
value: string;
|
|
@@ -19,6 +15,12 @@ export type PSMetricMap = Partial<Record<PSMetricKey, number>>;
|
|
|
19
15
|
export declare const PS_KNOWN_METRIC_KEYS: readonly PSMetricKey[];
|
|
20
16
|
export declare const METRIC_LABELS: Record<PSMetricKey, string>;
|
|
21
17
|
export declare const PS_FEATURE_DOMINANCE_THRESHOLD = 0.6;
|
|
18
|
+
/**
|
|
19
|
+
* The ML Model form's label for a feature column: drops a leading `Is` before a capital, splits camelCase, turns `_`
|
|
20
|
+
* into spaces and title-cases every word (`IsActive` → `Active`, `membership_type` → `Membership Type`). A published
|
|
21
|
+
* export whose output is fixed; the dashboards' at-risk drivers use `AtRiskRules.HumanizeFeatureName` (predictive-studio-core), which
|
|
22
|
+
* keeps an `Is` prefix and sentence-cases snake_case names.
|
|
23
|
+
*/
|
|
22
24
|
export declare function HumanizeFeatureName(name: string): string;
|
|
23
25
|
/** @deprecated Use {@link HumanizeFeatureName}. */
|
|
24
26
|
export declare function humanizeFeatureName(name: string): string;
|
|
@@ -72,4 +74,9 @@ export declare function overfitGap(model: {
|
|
|
72
74
|
Metrics?: string | null;
|
|
73
75
|
HoldoutMetrics?: string | null;
|
|
74
76
|
}): number | null;
|
|
77
|
+
/** The importance a model view may show. */
|
|
78
|
+
export declare class ModelImportanceView {
|
|
79
|
+
/** The importance bars a person may see: coefficient models only (split / impurity counts are not comparable across features and read as importance they are not, so they are hidden). */
|
|
80
|
+
static DisplayedFeatureImportance(lineageJSON: string | null | undefined, raw: string | null | undefined, topN?: number): PSFeatureBar[];
|
|
81
|
+
}
|
|
75
82
|
//# sourceMappingURL=ml-model-view-models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ml-model-view-models.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ml-model-view-models.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ml-model-view-models.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ml-model-view-models.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,UAAU,GACV,WAAW,GACX,QAAQ,GACR,IAAI,GACJ,SAAS,GACT,IAAI,GACJ,MAAM,GACN,KAAK,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/D,eAAO,MAAM,oBAAoB,EAAE,SAAS,WAAW,EAU7C,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAUrD,CAAC;AAyBF,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAiBzE;AAED,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAEzE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAIrE;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAErE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAiBhF;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC9F;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqB3D;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC9F;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAE3D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,eAAe,EAAE,CAehH;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,eAAe,EAAE,CAEhH;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,GAAE,MAAU,GAAG,YAAY,EAAE,CAyCvG;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,GAAE,MAAU,GAAG,YAAY,EAAE,CAEvG;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKlF;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAElF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAU5G;AAED,0CAA0C;AAC1C,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAE5G;AAED,4CAA4C;AAC5C,qBAAa,mBAAmB;IAC9B,0LAA0L;WAC5K,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,GAAE,MAAU,GAAG,YAAY,EAAE;CAGnJ"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Pure view-model functions and types for ML Model detail and metrics rendering.
|
|
3
3
|
* Framework-free, deterministic calculations over plain model entity data.
|
|
4
4
|
*/
|
|
5
|
+
import { ImportanceDisplay } from '@memberjunction/predictive-studio-core';
|
|
5
6
|
export const PS_KNOWN_METRIC_KEYS = [
|
|
6
7
|
'AUC',
|
|
7
8
|
'Accuracy',
|
|
@@ -47,6 +48,12 @@ const METRIC_ALIASES = {
|
|
|
47
48
|
mae: 'MAE',
|
|
48
49
|
};
|
|
49
50
|
export const PS_FEATURE_DOMINANCE_THRESHOLD = 0.6;
|
|
51
|
+
/**
|
|
52
|
+
* The ML Model form's label for a feature column: drops a leading `Is` before a capital, splits camelCase, turns `_`
|
|
53
|
+
* into spaces and title-cases every word (`IsActive` → `Active`, `membership_type` → `Membership Type`). A published
|
|
54
|
+
* export whose output is fixed; the dashboards' at-risk drivers use `AtRiskRules.HumanizeFeatureName` (predictive-studio-core), which
|
|
55
|
+
* keeps an `Is` prefix and sentence-cases snake_case names.
|
|
56
|
+
*/
|
|
50
57
|
export function HumanizeFeatureName(name) {
|
|
51
58
|
if (!name)
|
|
52
59
|
return '';
|
|
@@ -241,4 +248,11 @@ export function OverfitGap(model) {
|
|
|
241
248
|
export function overfitGap(model) {
|
|
242
249
|
return OverfitGap(model);
|
|
243
250
|
}
|
|
251
|
+
/** The importance a model view may show. */
|
|
252
|
+
export class ModelImportanceView {
|
|
253
|
+
/** The importance bars a person may see: coefficient models only (split / impurity counts are not comparable across features and read as importance they are not, so they are hidden). */
|
|
254
|
+
static DisplayedFeatureImportance(lineageJSON, raw, topN = 6) {
|
|
255
|
+
return ImportanceDisplay.GlobalDriversShowable(lineageJSON) ? ParseFeatureImportance(raw, topN) : [];
|
|
256
|
+
}
|
|
257
|
+
}
|
|
244
258
|
//# sourceMappingURL=ml-model-view-models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ml-model-view-models.js","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ml-model-view-models.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Pure view-model functions and types for ML Model detail and metrics rendering.\n * Framework-free, deterministic calculations over plain model entity data.\n */\n\nexport interface PSFeatureBar {\n name: string;\n value: string;\n pct: number;\n warning: boolean;\n}\n\nexport interface PSMetricDisplay {\n key: string;\n label: string;\n value: string;\n raw: number;\n}\n\nexport type PSMetricKey =\n | 'AUC'\n | 'Accuracy'\n | 'Precision'\n | 'Recall'\n | 'F1'\n | 'LogLoss'\n | 'R2'\n | 'RMSE'\n | 'MAE';\n\nexport type PSMetricMap = Partial<Record<PSMetricKey, number>>;\n\nexport const PS_KNOWN_METRIC_KEYS: readonly PSMetricKey[] = [\n 'AUC',\n 'Accuracy',\n 'Precision',\n 'Recall',\n 'F1',\n 'LogLoss',\n 'R2',\n 'RMSE',\n 'MAE',\n] as const;\n\nexport const METRIC_LABELS: Record<PSMetricKey, string> = {\n AUC: 'AUC (ROC)',\n Accuracy: 'Accuracy',\n Precision: 'Precision',\n Recall: 'Recall',\n F1: 'F1 Score',\n LogLoss: 'Log Loss',\n R2: 'R² (Fit)',\n RMSE: 'RMSE',\n MAE: 'MAE',\n};\n\nconst METRIC_ALIASES: Record<string, PSMetricKey> = {\n auc: 'AUC',\n 'roc-auc': 'AUC',\n roc_auc: 'AUC',\n acc: 'Accuracy',\n accuracy: 'Accuracy',\n prec: 'Precision',\n precision: 'Precision',\n rec: 'Recall',\n recall: 'Recall',\n f1: 'F1',\n 'f1-score': 'F1',\n f1_score: 'F1',\n logloss: 'LogLoss',\n 'log-loss': 'LogLoss',\n log_loss: 'LogLoss',\n r2: 'R2',\n 'r-squared': 'R2',\n r_squared: 'R2',\n rmse: 'RMSE',\n mae: 'MAE',\n};\n\nexport const PS_FEATURE_DOMINANCE_THRESHOLD = 0.6;\n\nexport function HumanizeFeatureName(name: string): string {\n if (!name) return '';\n return name\n .replace(/^Is([A-Z])/, '$1')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/_/g, ' ')\n .trim()\n .replace(/\\b[a-z]/g, (c) => c.toUpperCase());\n}\n\n/** @deprecated Use {@link HumanizeFeatureName}. */\nexport function humanizeFeatureName(name: string): string {\n return HumanizeFeatureName(name);\n}\n\nexport function ParseMetrics(json: string | null | undefined): PSMetricMap {\n if (!json) return {};\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch {\n return {};\n }\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) return {};\n const out: PSMetricMap = {};\n for (const [rawKey, rawVal] of Object.entries(parsed as Record<string, unknown>)) {\n const value = typeof rawVal === 'number' && Number.isFinite(rawVal) ? rawVal : null;\n if (value == null) continue;\n const canonical = CanonicalMetricKey(rawKey);\n if (canonical && out[canonical] == null) out[canonical] = value;\n }\n return out;\n}\n\n/** @deprecated Use {@link ParseMetrics}. */\nexport function parseMetrics(json: string | null | undefined): PSMetricMap {\n return ParseMetrics(json);\n}\n\nexport function CanonicalMetricKey(rawKey: string): PSMetricKey | null {\n const exact = PS_KNOWN_METRIC_KEYS.find((k) => k === rawKey);\n if (exact) return exact;\n return METRIC_ALIASES[rawKey.trim().toLowerCase()] ?? null;\n}\n\n/** @deprecated Use {@link CanonicalMetricKey}. */\nexport function canonicalMetricKey(rawKey: string): PSMetricKey | null {\n return CanonicalMetricKey(rawKey);\n}\n\nexport function FormatMetricValue(key: PSMetricKey | string, val: number): string {\n if (!Number.isFinite(val)) return '—';\n switch (key) {\n case 'AUC':\n case 'Accuracy':\n case 'Precision':\n case 'Recall':\n case 'F1':\n case 'R2':\n return val.toFixed(3);\n case 'LogLoss':\n case 'RMSE':\n case 'MAE':\n return val < 10 ? val.toFixed(3) : val.toLocaleString(undefined, { maximumFractionDigits: 2 });\n default:\n return val.toFixed(3);\n }\n}\n\n/** @deprecated Use {@link FormatMetricValue}. */\nexport function formatMetricValue(key: PSMetricKey | string, val: number): string {\n return FormatMetricValue(key, val);\n}\n\nexport function PrimaryModelScore(\n model: { Metrics?: string | null; HoldoutMetrics?: string | null; ProblemType?: string | null },\n): { key: PSMetricKey; label: string; value: number } | null {\n const isReg = (model.ProblemType ?? '').toLowerCase() === 'regression';\n const holdout = ParseMetrics(model.HoldoutMetrics);\n const train = ParseMetrics(model.Metrics);\n\n if (isReg) {\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n }\n\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n return null;\n}\n\n/** @deprecated Use {@link PrimaryModelScore}. */\nexport function primaryModelScore(\n model: { Metrics?: string | null; HoldoutMetrics?: string | null; ProblemType?: string | null },\n): { key: PSMetricKey; label: string; value: number } | null {\n return PrimaryModelScore(model);\n}\n\nexport function MetricsToDisplay(metrics: PSMetricMap, options: { excludeAuc?: boolean } = {}): PSMetricDisplay[] {\n const out: PSMetricDisplay[] = [];\n for (const k of PS_KNOWN_METRIC_KEYS) {\n if (options.excludeAuc && k === 'AUC') continue;\n const v = metrics[k];\n if (v != null) {\n out.push({\n key: k,\n label: METRIC_LABELS[k] ?? k,\n value: FormatMetricValue(k, v),\n raw: v,\n });\n }\n }\n return out;\n}\n\n/** @deprecated Use {@link MetricsToDisplay}. */\nexport function metricsToDisplay(metrics: PSMetricMap, options: { excludeAuc?: boolean } = {}): PSMetricDisplay[] {\n return MetricsToDisplay(metrics, options);\n}\n\nexport function ParseFeatureImportance(raw: string | null | undefined, topN: number = 6): PSFeatureBar[] {\n if (!raw) return [];\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n return [];\n }\n\n const entries: { name: string; val: number }[] = [];\n\n if (Array.isArray(parsed)) {\n for (const item of parsed as Array<{ feature?: unknown; name?: unknown; importance?: unknown; weight?: unknown; value?: unknown }>) {\n const name = typeof item?.feature === 'string' ? item.feature : typeof item?.name === 'string' ? item.name : '';\n const rawVal = typeof item?.importance === 'number' ? item.importance : typeof item?.weight === 'number' ? item.weight : typeof item?.value === 'number' ? item.value : NaN;\n const val = Number(rawVal);\n if (name && Number.isFinite(val)) {\n entries.push({ name, val: Math.abs(val) });\n }\n }\n } else if (parsed && typeof parsed === 'object') {\n for (const [k, v] of Object.entries(parsed as Record<string, unknown>)) {\n const val = typeof v === 'number' && Number.isFinite(v) ? Math.abs(v) : NaN;\n if (k && Number.isFinite(val)) {\n entries.push({ name: k, val });\n }\n }\n }\n\n if (entries.length === 0) return [];\n\n entries.sort((a, b) => b.val - a.val);\n const sliced = entries.slice(0, topN);\n const max = sliced[0]?.val ?? 1;\n\n return sliced.map((e) => ({\n name: e.name,\n value: e.val < 1 ? e.val.toFixed(3) : e.val.toFixed(1),\n pct: max > 0 ? Math.round((e.val / max) * 100) : 0,\n warning: e.val >= PS_FEATURE_DOMINANCE_THRESHOLD,\n }));\n}\n\n/** @deprecated Use {@link ParseFeatureImportance}. */\nexport function parseFeatureImportance(raw: string | null | undefined, topN: number = 6): PSFeatureBar[] {\n return ParseFeatureImportance(raw, topN);\n}\n\nexport function MaxFeatureImportance(raw: string | null | undefined): number | null {\n const bars = ParseFeatureImportance(raw, 1);\n if (bars.length === 0) return null;\n const num = parseFloat(bars[0].value);\n return Number.isFinite(num) ? num : null;\n}\n\n/** @deprecated Use {@link MaxFeatureImportance}. */\nexport function maxFeatureImportance(raw: string | null | undefined): number | null {\n return MaxFeatureImportance(raw);\n}\n\nexport function OverfitGap(model: { Metrics?: string | null; HoldoutMetrics?: string | null }): number | null {\n const train = ParseMetrics(model.Metrics);\n const holdout = ParseMetrics(model.HoldoutMetrics);\n if (train.AUC != null && holdout.AUC != null) {\n return train.AUC - holdout.AUC;\n }\n if (train.R2 != null && holdout.R2 != null) {\n return train.R2 - holdout.R2;\n }\n return null;\n}\n\n/** @deprecated Use {@link OverfitGap}. */\nexport function overfitGap(model: { Metrics?: string | null; HoldoutMetrics?: string | null }): number | null {\n return OverfitGap(model);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ml-model-view-models.js","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ml-model-view-models.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Pure view-model functions and types for ML Model detail and metrics rendering.\n * Framework-free, deterministic calculations over plain model entity data.\n */\nimport { ImportanceDisplay } from '@memberjunction/predictive-studio-core';\n\nexport interface PSFeatureBar {\n name: string;\n value: string;\n pct: number;\n warning: boolean;\n}\n\nexport interface PSMetricDisplay {\n key: string;\n label: string;\n value: string;\n raw: number;\n}\n\nexport type PSMetricKey =\n | 'AUC'\n | 'Accuracy'\n | 'Precision'\n | 'Recall'\n | 'F1'\n | 'LogLoss'\n | 'R2'\n | 'RMSE'\n | 'MAE';\n\nexport type PSMetricMap = Partial<Record<PSMetricKey, number>>;\n\nexport const PS_KNOWN_METRIC_KEYS: readonly PSMetricKey[] = [\n 'AUC',\n 'Accuracy',\n 'Precision',\n 'Recall',\n 'F1',\n 'LogLoss',\n 'R2',\n 'RMSE',\n 'MAE',\n] as const;\n\nexport const METRIC_LABELS: Record<PSMetricKey, string> = {\n AUC: 'AUC (ROC)',\n Accuracy: 'Accuracy',\n Precision: 'Precision',\n Recall: 'Recall',\n F1: 'F1 Score',\n LogLoss: 'Log Loss',\n R2: 'R² (Fit)',\n RMSE: 'RMSE',\n MAE: 'MAE',\n};\n\nconst METRIC_ALIASES: Record<string, PSMetricKey> = {\n auc: 'AUC',\n 'roc-auc': 'AUC',\n roc_auc: 'AUC',\n acc: 'Accuracy',\n accuracy: 'Accuracy',\n prec: 'Precision',\n precision: 'Precision',\n rec: 'Recall',\n recall: 'Recall',\n f1: 'F1',\n 'f1-score': 'F1',\n f1_score: 'F1',\n logloss: 'LogLoss',\n 'log-loss': 'LogLoss',\n log_loss: 'LogLoss',\n r2: 'R2',\n 'r-squared': 'R2',\n r_squared: 'R2',\n rmse: 'RMSE',\n mae: 'MAE',\n};\n\nexport const PS_FEATURE_DOMINANCE_THRESHOLD = 0.6;\n\n/**\n * The ML Model form's label for a feature column: drops a leading `Is` before a capital, splits camelCase, turns `_`\n * into spaces and title-cases every word (`IsActive` → `Active`, `membership_type` → `Membership Type`). A published\n * export whose output is fixed; the dashboards' at-risk drivers use `AtRiskRules.HumanizeFeatureName` (predictive-studio-core), which\n * keeps an `Is` prefix and sentence-cases snake_case names.\n */\nexport function HumanizeFeatureName(name: string): string {\n if (!name) return '';\n return name\n .replace(/^Is([A-Z])/, '$1')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/_/g, ' ')\n .trim()\n .replace(/\\b[a-z]/g, (c) => c.toUpperCase());\n}\n\n/** @deprecated Use {@link HumanizeFeatureName}. */\nexport function humanizeFeatureName(name: string): string {\n return HumanizeFeatureName(name);\n}\n\nexport function ParseMetrics(json: string | null | undefined): PSMetricMap {\n if (!json) return {};\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch {\n return {};\n }\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) return {};\n const out: PSMetricMap = {};\n for (const [rawKey, rawVal] of Object.entries(parsed as Record<string, unknown>)) {\n const value = typeof rawVal === 'number' && Number.isFinite(rawVal) ? rawVal : null;\n if (value == null) continue;\n const canonical = CanonicalMetricKey(rawKey);\n if (canonical && out[canonical] == null) out[canonical] = value;\n }\n return out;\n}\n\n/** @deprecated Use {@link ParseMetrics}. */\nexport function parseMetrics(json: string | null | undefined): PSMetricMap {\n return ParseMetrics(json);\n}\n\nexport function CanonicalMetricKey(rawKey: string): PSMetricKey | null {\n const exact = PS_KNOWN_METRIC_KEYS.find((k) => k === rawKey);\n if (exact) return exact;\n return METRIC_ALIASES[rawKey.trim().toLowerCase()] ?? null;\n}\n\n/** @deprecated Use {@link CanonicalMetricKey}. */\nexport function canonicalMetricKey(rawKey: string): PSMetricKey | null {\n return CanonicalMetricKey(rawKey);\n}\n\nexport function FormatMetricValue(key: PSMetricKey | string, val: number): string {\n if (!Number.isFinite(val)) return '—';\n switch (key) {\n case 'AUC':\n case 'Accuracy':\n case 'Precision':\n case 'Recall':\n case 'F1':\n case 'R2':\n return val.toFixed(3);\n case 'LogLoss':\n case 'RMSE':\n case 'MAE':\n return val < 10 ? val.toFixed(3) : val.toLocaleString(undefined, { maximumFractionDigits: 2 });\n default:\n return val.toFixed(3);\n }\n}\n\n/** @deprecated Use {@link FormatMetricValue}. */\nexport function formatMetricValue(key: PSMetricKey | string, val: number): string {\n return FormatMetricValue(key, val);\n}\n\nexport function PrimaryModelScore(\n model: { Metrics?: string | null; HoldoutMetrics?: string | null; ProblemType?: string | null },\n): { key: PSMetricKey; label: string; value: number } | null {\n const isReg = (model.ProblemType ?? '').toLowerCase() === 'regression';\n const holdout = ParseMetrics(model.HoldoutMetrics);\n const train = ParseMetrics(model.Metrics);\n\n if (isReg) {\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n }\n\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n return null;\n}\n\n/** @deprecated Use {@link PrimaryModelScore}. */\nexport function primaryModelScore(\n model: { Metrics?: string | null; HoldoutMetrics?: string | null; ProblemType?: string | null },\n): { key: PSMetricKey; label: string; value: number } | null {\n return PrimaryModelScore(model);\n}\n\nexport function MetricsToDisplay(metrics: PSMetricMap, options: { excludeAuc?: boolean } = {}): PSMetricDisplay[] {\n const out: PSMetricDisplay[] = [];\n for (const k of PS_KNOWN_METRIC_KEYS) {\n if (options.excludeAuc && k === 'AUC') continue;\n const v = metrics[k];\n if (v != null) {\n out.push({\n key: k,\n label: METRIC_LABELS[k] ?? k,\n value: FormatMetricValue(k, v),\n raw: v,\n });\n }\n }\n return out;\n}\n\n/** @deprecated Use {@link MetricsToDisplay}. */\nexport function metricsToDisplay(metrics: PSMetricMap, options: { excludeAuc?: boolean } = {}): PSMetricDisplay[] {\n return MetricsToDisplay(metrics, options);\n}\n\nexport function ParseFeatureImportance(raw: string | null | undefined, topN: number = 6): PSFeatureBar[] {\n if (!raw) return [];\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n return [];\n }\n\n const entries: { name: string; val: number }[] = [];\n\n if (Array.isArray(parsed)) {\n for (const item of parsed as Array<{ feature?: unknown; name?: unknown; importance?: unknown; weight?: unknown; value?: unknown }>) {\n const name = typeof item?.feature === 'string' ? item.feature : typeof item?.name === 'string' ? item.name : '';\n const rawVal = typeof item?.importance === 'number' ? item.importance : typeof item?.weight === 'number' ? item.weight : typeof item?.value === 'number' ? item.value : NaN;\n const val = Number(rawVal);\n if (name && Number.isFinite(val)) {\n entries.push({ name, val: Math.abs(val) });\n }\n }\n } else if (parsed && typeof parsed === 'object') {\n for (const [k, v] of Object.entries(parsed as Record<string, unknown>)) {\n const val = typeof v === 'number' && Number.isFinite(v) ? Math.abs(v) : NaN;\n if (k && Number.isFinite(val)) {\n entries.push({ name: k, val });\n }\n }\n }\n\n if (entries.length === 0) return [];\n\n entries.sort((a, b) => b.val - a.val);\n const sliced = entries.slice(0, topN);\n const max = sliced[0]?.val ?? 1;\n\n return sliced.map((e) => ({\n name: e.name,\n value: e.val < 1 ? e.val.toFixed(3) : e.val.toFixed(1),\n pct: max > 0 ? Math.round((e.val / max) * 100) : 0,\n warning: e.val >= PS_FEATURE_DOMINANCE_THRESHOLD,\n }));\n}\n\n/** @deprecated Use {@link ParseFeatureImportance}. */\nexport function parseFeatureImportance(raw: string | null | undefined, topN: number = 6): PSFeatureBar[] {\n return ParseFeatureImportance(raw, topN);\n}\n\nexport function MaxFeatureImportance(raw: string | null | undefined): number | null {\n const bars = ParseFeatureImportance(raw, 1);\n if (bars.length === 0) return null;\n const num = parseFloat(bars[0].value);\n return Number.isFinite(num) ? num : null;\n}\n\n/** @deprecated Use {@link MaxFeatureImportance}. */\nexport function maxFeatureImportance(raw: string | null | undefined): number | null {\n return MaxFeatureImportance(raw);\n}\n\nexport function OverfitGap(model: { Metrics?: string | null; HoldoutMetrics?: string | null }): number | null {\n const train = ParseMetrics(model.Metrics);\n const holdout = ParseMetrics(model.HoldoutMetrics);\n if (train.AUC != null && holdout.AUC != null) {\n return train.AUC - holdout.AUC;\n }\n if (train.R2 != null && holdout.R2 != null) {\n return train.R2 - holdout.R2;\n }\n return null;\n}\n\n/** @deprecated Use {@link OverfitGap}. */\nexport function overfitGap(model: { Metrics?: string | null; HoldoutMetrics?: string | null }): number | null {\n return OverfitGap(model);\n}\n\n/** The importance a model view may show. */\nexport class ModelImportanceView {\n /** The importance bars a person may see: coefficient models only (split / impurity counts are not comparable across features and read as importance they are not, so they are hidden). */\n public static DisplayedFeatureImportance(lineageJSON: string | null | undefined, raw: string | null | undefined, topN: number = 6): PSFeatureBar[] {\n return ImportanceDisplay.GlobalDriversShowable(lineageJSON) ? ParseFeatureImportance(raw, topN) : [];\n }\n}\n"]}
|
|
@@ -114,9 +114,24 @@ export declare class PSModelDetailComponent {
|
|
|
114
114
|
get GapVerdict(): string;
|
|
115
115
|
/** @deprecated Use {@link GapVerdict}. */
|
|
116
116
|
get gapVerdict(): string;
|
|
117
|
+
/** Cached parsed and displayed importance bars for the last (Lineage JSON, importance JSON) pair. */
|
|
118
|
+
private importanceCache;
|
|
119
|
+
private get cachedImportance();
|
|
117
120
|
get Importance(): PSFeatureBar[];
|
|
118
121
|
/** @deprecated Use {@link Importance}. */
|
|
119
122
|
get importance(): PSFeatureBar[];
|
|
123
|
+
/**
|
|
124
|
+
* The importance bars shown in the Feature Importance card (empty for split / impurity importance). Cached on the
|
|
125
|
+
* Lineage JSON (which holds the stored importance kind) and the importance JSON, so the parse runs once per model and
|
|
126
|
+
* again whenever either value changes
|
|
127
|
+
* (coding standards §7: getters Angular bindings hit).
|
|
128
|
+
*/
|
|
129
|
+
get DisplayedImportance(): PSFeatureBar[];
|
|
130
|
+
/** True when the model has importance data that is hidden because of its kind. */
|
|
131
|
+
get ImportanceHidden(): boolean;
|
|
132
|
+
/** The note shown in place of hidden importance. */
|
|
133
|
+
readonly ImportanceHiddenNote: string;
|
|
134
|
+
/** The Feature Importance card's caption. The template hides it when {@link ImportanceHidden}, along with the bars. */
|
|
120
135
|
get ImportanceCaption(): string;
|
|
121
136
|
/** @deprecated Use {@link ImportanceCaption}. */
|
|
122
137
|
get importanceCaption(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ps-model-detail.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ps-model-detail.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAIb,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,eAAe,EAEf,iCAAiC,EAClC,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"ps-model-detail.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ps-model-detail.component.ts"],"names":[],"mappings":"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"}
|