use of org.opensearch.ml.common.parameter.Input in project ml-commons by opensearch-project.
the class MLEngineTest method trainAndPredictWithKmeans.
@Test
public void trainAndPredictWithKmeans() {
int dataSize = 100;
MLAlgoParams parameters = KMeansParams.builder().build();
DataFrame dataFrame = constructKMeansDataFrame(dataSize);
MLInputDataset inputData = new DataFrameInputDataset(dataFrame);
Input input = new MLInput(FunctionName.KMEANS, parameters, inputData);
MLPredictionOutput output = (MLPredictionOutput) MLEngine.trainAndPredict(input);
Assert.assertEquals(dataSize, output.getPredictionResult().size());
}
use of org.opensearch.ml.common.parameter.Input in project ml-commons by opensearch-project.
the class MLEngineTest method trainLinearRegressionModel.
private Model trainLinearRegressionModel() {
LinearRegressionParams parameters = LinearRegressionParams.builder().objectiveType(LinearRegressionParams.ObjectiveType.SQUARED_LOSS).optimizerType(LinearRegressionParams.OptimizerType.ADAM).learningRate(0.01).epsilon(1e-6).beta1(0.9).beta2(0.99).target("price").build();
DataFrame trainDataFrame = constructLinearRegressionTrainDataFrame();
MLInputDataset inputDataset = DataFrameInputDataset.builder().dataFrame(trainDataFrame).build();
Input mlInput = MLInput.builder().algorithm(FunctionName.LINEAR_REGRESSION).parameters(parameters).inputDataset(inputDataset).build();
return MLEngine.train(mlInput);
}
use of org.opensearch.ml.common.parameter.Input in project ml-commons by opensearch-project.
the class MLEngineTest method predictKMeans.
@Test
public void predictKMeans() {
Model model = trainKMeansModel();
DataFrame predictionDataFrame = constructKMeansDataFrame(10);
MLInputDataset inputDataset = DataFrameInputDataset.builder().dataFrame(predictionDataFrame).build();
Input mlInput = MLInput.builder().algorithm(FunctionName.KMEANS).inputDataset(inputDataset).build();
MLPredictionOutput output = (MLPredictionOutput) MLEngine.predict(mlInput, model);
DataFrame predictions = output.getPredictionResult();
Assert.assertEquals(10, predictions.size());
predictions.forEach(row -> Assert.assertTrue(row.getValue(0).intValue() == 0 || row.getValue(0).intValue() == 1));
}
Aggregations