/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * The ARN of the solution */ export type SolutionArn = string; /** * Resource schema for AWS::Personalize::Solution. */ export interface AwsPersonalizeSolution { /** * The name for the solution */ Name: string; SolutionArn?: SolutionArn; /** * When your have multiple event types (using an EVENT_TYPE schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model. If you do not provide an eventType, Amazon Personalize will use all interactions for training with equal weight regardless of type. */ EventType?: string; /** * The ARN of the dataset group that provides the training data. */ DatasetGroupArn: string; /** * Whether to perform automated machine learning (AutoML). The default is false. For this case, you must specify recipeArn. */ PerformAutoML?: boolean; /** * Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is false. When performing AutoML, this parameter is always true and you should not set it to false. */ PerformHPO?: boolean; /** * The ARN of the recipe to use for model training. Only specified when performAutoML is false. */ RecipeArn?: string; SolutionConfig?: SolutionConfig; } /** * The configuration to use with the solution. When performAutoML is set to true, Amazon Personalize only evaluates the autoMLConfig section of the solution configuration. */ export interface SolutionConfig { /** * Lists the hyperparameter names and ranges. */ AlgorithmHyperParameters?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` ".{1,}". */ [k: string]: string; }; /** * The AutoMLConfig object containing a list of recipes to search when AutoML is performed. */ AutoMLConfig?: { /** * The metric to optimize. */ MetricName?: string; /** * The list of candidate recipes. * * @maxItems 100 */ RecipeList?: string[]; }; /** * Only events with a value greater than or equal to this threshold are used for training a model. */ EventValueThreshold?: string; /** * Lists the feature transformation parameters. */ FeatureTransformationParameters?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` ".{1,}". */ [k: string]: string; }; /** * Describes the properties for hyperparameter optimization (HPO) */ HpoConfig?: { /** * The hyperparameters and their allowable ranges */ AlgorithmHyperParameterRanges?: { /** * The categorical hyperparameters and their ranges. * * @maxItems 100 */ CategoricalHyperParameterRanges?: CategoricalHyperParameterRange[]; /** * The continuous hyperparameters and their ranges. * * @maxItems 100 */ ContinuousHyperParameterRanges?: ContinuousHyperParameterRange[]; /** * The integer hyperparameters and their ranges. * * @maxItems 100 */ IntegerHyperParameterRanges?: IntegerHyperParameterRange[]; }; /** * The metric to optimize during HPO. */ HpoObjective?: { /** * The name of the metric */ MetricName?: string; /** * The type of the metric. Valid values are Maximize and Minimize. */ Type?: "Maximize" | "Minimize"; /** * A regular expression for finding the metric in the training job logs. */ MetricRegex?: string; }; /** * Describes the resource configuration for hyperparameter optimization (HPO). */ HpoResourceConfig?: { /** * The maximum number of training jobs when you create a solution version. The maximum value for maxNumberOfTrainingJobs is 40. */ MaxNumberOfTrainingJobs?: string; /** * The maximum number of parallel training jobs when you create a solution version. The maximum value for maxParallelTrainingJobs is 10. */ MaxParallelTrainingJobs?: string; }; }; } /** * Provides the name and values of a Categorical hyperparameter. */ export interface CategoricalHyperParameterRange { /** * The name of the hyperparameter. */ Name?: string; /** * A list of the categories for the hyperparameter. * * @maxItems 100 */ Values?: string[]; } /** * Provides the name and range of a continuous hyperparameter. */ export interface ContinuousHyperParameterRange { /** * The name of the hyperparameter. */ Name?: string; /** * The minimum allowable value for the hyperparameter. */ MinValue?: number; /** * The maximum allowable value for the hyperparameter. */ MaxValue?: number; } /** * Provides the name and range of an integer-valued hyperparameter. */ export interface IntegerHyperParameterRange { /** * The name of the hyperparameter. */ Name?: string; /** * The minimum allowable value for the hyperparameter. */ MinValue?: number; /** * The maximum allowable value for the hyperparameter. */ MaxValue?: number; }