From e6b8d741d849547077c56c37d45975ec7f04cabc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Novotn=C3=BD?= Date: Thu, 24 Sep 2020 20:54:29 +0200 Subject: [PATCH] [SW-2445] Add logic of FrameUtils.guessParserSetup to Sparkling Water (#2329) * [SW-2445] Add logic of FrameUtils.guessParserSetup to Sparkling Water * fix mojo parameter tests --- extensions/src/main/scala/water/fvec/H2OFrame.scala | 8 +++++--- .../h2o/sparkling/ml/models/MOJOParameterTestSuite.scala | 1 + .../unit/with_runtime_sparkling/test_mojo_parameters.py | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/extensions/src/main/scala/water/fvec/H2OFrame.scala b/extensions/src/main/scala/water/fvec/H2OFrame.scala index 6bb4fbf4e4..400a865fab 100644 --- a/extensions/src/main/scala/water/fvec/H2OFrame.scala +++ b/extensions/src/main/scala/water/fvec/H2OFrame.scala @@ -24,7 +24,7 @@ import water._ import water.parser.DefaultParserProviders.GUESS_INFO import water.parser.ParseSetup import water.parser.ParseSetup._ -import water.util.FrameUtils +import water.H2O /** * Wrapper around Java H2O Frame @@ -179,6 +179,8 @@ object H2OFrame { * @param uris URIs of files to parse * @return guessed parser setup */ - def parserSetup(userSetup: ParseSetup, uris: URI*): ParseSetup = - FrameUtils.guessParserSetup(defaultParserSetup(), uris: _*) + def parserSetup(userSetup: ParseSetup, uris: URI*): ParseSetup = { + val inKeys = uris.map(H2O.getPM.anyURIToKey(_)).toArray + return ParseSetup.guessSetup(inKeys, userSetup) + } } diff --git a/ml/src/test/scala/ai/h2o/sparkling/ml/models/MOJOParameterTestSuite.scala b/ml/src/test/scala/ai/h2o/sparkling/ml/models/MOJOParameterTestSuite.scala index f22031c443..fcdeadd4ae 100644 --- a/ml/src/test/scala/ai/h2o/sparkling/ml/models/MOJOParameterTestSuite.scala +++ b/ml/src/test/scala/ai/h2o/sparkling/ml/models/MOJOParameterTestSuite.scala @@ -84,6 +84,7 @@ class MOJOParameterTestSuite extends FunSuite with SharedH2OTestContext with Mat val algorithm = new H2OGAM() .setLabelCol("CAPSULE") .setSeed(1) + .setLambdaValue(Array(0.5)) .setGamCols(Array("PSA", "AGE")) .setNumKnots(Array(5, 5)) .setBs(Array(5, 5)) diff --git a/py/tests/unit/with_runtime_sparkling/test_mojo_parameters.py b/py/tests/unit/with_runtime_sparkling/test_mojo_parameters.py index 39220313e0..22d5ba43c6 100644 --- a/py/tests/unit/with_runtime_sparkling/test_mojo_parameters.py +++ b/py/tests/unit/with_runtime_sparkling/test_mojo_parameters.py @@ -49,7 +49,8 @@ def testGLMParameters(prostateDataset): def testGAMParameters(prostateDataset): features = ['AGE', 'RACE', 'DPROS', 'DCAPS', 'PSA'] - algorithm = H2OGAM(seed=1, labelCol="CAPSULE", gamCols=["PSA", "AGE"], numKnots=[5, 5], featuresCols=features) + algorithm = H2OGAM(seed=1, labelCol="CAPSULE", gamCols=["PSA", "AGE"], numKnots=[5, 5], lambdaValue=[0.5], + featuresCols=features) model = algorithm.fit(prostateDataset) compareParameterValues(algorithm, model, ["getFeaturesCols"])