in common/src/main/java/org/opensearch/ml/common/parameter/LinearRegressionParams.java [101:167]
public static MLAlgoParams parse(XContentParser parser) throws IOException {
ObjectiveType objective = null;
OptimizerType optimizerType = null;
Double learningRate = null;
MomentumType momentumType = null;
Double momentumFactor = null;
Double epsilon = null;
Double beta1 = null;
Double beta2 = null;
Double decayRate = null;
Integer epochs = null;
Integer batchSize = null;
Long seed = null;
String target = null;
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.currentToken(), parser);
while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
String fieldName = parser.currentName();
parser.nextToken();
switch (fieldName) {
case OBJECTIVE_FIELD:
objective = ObjectiveType.valueOf(parser.text().toUpperCase(Locale.ROOT));
break;
case OPTIMISER_FIELD:
optimizerType = OptimizerType.valueOf(parser.text().toUpperCase(Locale.ROOT));
break;
case LEARNING_RATE_FIELD:
learningRate = parser.doubleValue();
break;
case MOMENTUM_TYPE_FIELD:
momentumType = MomentumType.valueOf(parser.text().toUpperCase(Locale.ROOT));
break;
case MOMENTUM_FACTOR_FIELD:
momentumFactor = parser.doubleValue();
break;
case EPSILON_FIELD:
epsilon = parser.doubleValue();
break;
case BETA1_FIELD:
beta1 = parser.doubleValue();
break;
case BETA2_FIELD:
beta2 = parser.doubleValue();
break;
case DECAY_RATE_FIELD:
decayRate = parser.doubleValue();
break;
case EPOCHS_FIELD:
epochs = parser.intValue();
break;
case BATCH_SIZE_FIELD:
batchSize = parser.intValue();
break;
case SEED_FIELD:
seed = parser.longValue();
break;
case TARGET_FIELD:
target = parser.text();
break;
default:
parser.skipChildren();
break;
}
}
return new LinearRegressionParams(objective, optimizerType, learningRate, momentumType, momentumFactor, epsilon, beta1, beta2,decayRate, epochs, batchSize, seed, target);
}