Skip to main content

Prescriptive Analytics

Synopsis

Given a model and a desired output, this operator automatically finds the optimal inputs.

Description

In predictive modeling, a model is used to predict an outcome, given an input. This operator reverses that procedure, starting with a model and a desired output, and prescribing an optimized input to achieve the desired outcome.

The operator uses an evolutionary optimization method, based on the model, with one of the following targets:

  • minimize confidence for a class
  • maximize confidence for a class
  • get as close as possible to a certain confidence for a class
  • minimize regression prediction
  • maximize regression prediction
  • get as close as possible to a certain regression prediction

The training data can be used to to constrain the optimization, so that all numerical values satisfy one or more of the following conditions:

  • stay close to the average, within 1 / 2 / 3 times the standard deviation
  • stay above the minimum
  • stay below the maximum
  • stay above a certain value
  • stay below a certain value

Moreover, the user may assign constant values to any of the attributes, overriding the above conditions.

Input

model

This port expects a model, whose optimal inputs should be identified.

training data

This port expects an ExampleSet, the same ExampleSet that was used to create the model.

Output

optimal data

The optimal data which, when used as an input to the model, delivers the desired result.

Parameters

Classification

Indicates if the model is a classification model or a regression model.

Class name

The class for which the confidence should be optimized.

优化方向

The optimization strategy: minimize, maximize, or specify a value. A specific value can be useful for regression / forecasting problems.

Value to reach

Specify a confidence or regression value which should be reached. Only available if the value for "optimization direction" is "specific value".

Stay around average (numerical)

Indicates if numerical values should stay in a specified range around the average value which helps to prevent extreme values which might be not feasible as inputs.

Standard deviations around average

Defines the number of standard deviations the values can move away from the numerical average.

Stay above global minimum (numerical)

Indicates if numerical values should stay above the minimum value of the corresponding attribute.

Stay below global maximum (numerical)

Indicates if numerical values should stay below the maximum value of the corresponding attribute.

Stay above value (numerical)

Indicates if numerical values should stay above a specified value.

Minimum value

Attribute values during optimization should stay above this value.

Stay below value (numerical)

Indicates if numerical values should stay below a specified value.

Maximum value

Attribute values during optimization should stay below this value.

Constant attribute values

A list of attributes which should be kept at constant values. You can specify name-value pairs with the attribute name on the left and the desired constant value on the right.

Limit type

Defines when the optimization ends. No limit uses a heuristic to detect the optimum. Time limit stops after specified time. Generations stops after the specified number of generations is reached.

Maximum generations

The maximum number of generations for the evolutionary optimization algorithm. Only available if the limit is "generations and population size".

Population size

The number of individuals in the population of the evolutionary optimization algorithm. Only available if the limit is "generations and population size".

Time limit (in seconds)

The maximum number of seconds the optimization will run. Only available if the limit is "time limit".