public static MLAlgoParams parse()

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);
    }