diff --git a/docs/release-notes/release-1.2.0.md b/docs/release-notes/release-1.2.0.md
new file mode 100644
index 00000000..af91d2a3
--- /dev/null
+++ b/docs/release-notes/release-1.2.0.md
@@ -0,0 +1,52 @@
+# [NimbusML](https://docs.microsoft.com/en-us/nimbusml/overview) 1.2.0
+
+## **New Features**
+
+- **Time Series Spike And Change Point Detection**
+
+ [PR#135](https://github.com/microsoft/NimbusML/pull/135) added support
+ for time series spike and change point detection using the Independent
+ and identically distributed (IID) and Singular Spectrum Analysis (SSA)
+ algorithms.
+
+ **Spike Detection Examples**
+
+ - [IID using a pandas Series](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/examples_from_dataframe/IidSpikeDetector_df.py)
+ - [SSA using a pandas Series](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/examples_from_dataframe/SsaSpikeDetector_df.py)
+ - [IID using a FileDataStream](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/IidSpikeDetector.py)
+ - [SSA using a FileDataStream](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/SsaSpikeDetector.py)
+
+ **Change Point Detection Examples**
+
+ - [IID using a pandas Series](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/examples_from_dataframe/IidChangePointDetector_df.py)
+ - [SSA using a pandas Series](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/examples_from_dataframe/SsaChangePointDetector_df.py)
+ - [IID using a FileDataStream](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/IidChangePointDetector.py)
+ - [SSA using a FileDataStream](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/SsaChangePointDetector.py)
+
+- **Time Series Forecasting**
+ [PR#164](https://github.com/microsoft/NimbusML/pull/164) exposes an API
+ for time series forecasting using Singular Spectrum Analysis(SSA).
+
+ **Forecasting Examples**
+ - [Using a pandas Series](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/examples_from_dataframe/SsaForecaster_df.py)
+ - [Using a FileDataStream](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/SsaForecaster.py)
+
+## **Bug Fixes**
+
+None.
+
+## **Breaking Changes**
+
+None.
+
+## **Enhancements**
+
+None.
+
+## **Documentation and Samples**
+
+- Sample for CharTokenizer. [PR#153](https://github.com/microsoft/NimbusML/pull/153)
+
+## **Remarks**
+
+None.
diff --git a/release-next.md b/release-next.md
index a6d9aba0..bed2f26f 100644
--- a/release-next.md
+++ b/release-next.md
@@ -2,30 +2,7 @@
## **New Features**
-- **Time Series Spike And Change Point Detection**
-
- [PR#135](https://github.com/microsoft/NimbusML/pull/135) added support
- for time series spike and change point detection using the Independent
- and identically distributed (IID) and Singular Spectrum Analysis (SSA)
- algorithms.
-
- **Spike Detection Examples**
-
- - [IID using a pandas Series](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/examples_from_dataframe/IidSpikeDetector_df.py)
- - [SSA using a pandas Series](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/examples_from_dataframe/SsaSpikeDetector_df.py)
- - [IID using a FileDataStream](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/IidSpikeDetector.py)
- - [SSA using a FileDataStream](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/SsaSpikeDetector.py)
-
- **Change Point Detection Examples**
-
- - [IID using a pandas Series](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/examples_from_dataframe/IidChangePointDetector_df.py)
- - [SSA using a pandas Series](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/examples_from_dataframe/SsaChangePointDetector_df.py)
- - [IID using a FileDataStream](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/IidChangePointDetector.py)
- - [SSA using a FileDataStream](https://github.com/microsoft/NimbusML/tree/master/src/python/nimbusml/examples/SsaChangePointDetector.py)
-
-- **Time Series Forecasting**
- [PR#164](https://github.com/microsoft/NimbusML/pull/164) exposes an API
- for time series forecasting using Singular Spectrum Analysis(SSA).
+None.
## **Bug Fixes**
@@ -41,7 +18,7 @@ None.
## **Documentation and Samples**
-TBD.
+None.
## **Remarks**
diff --git a/src/DotNetBridge/DotNetBridge.csproj b/src/DotNetBridge/DotNetBridge.csproj
index fab49e2e..9e89c206 100644
--- a/src/DotNetBridge/DotNetBridge.csproj
+++ b/src/DotNetBridge/DotNetBridge.csproj
@@ -31,16 +31,16 @@
all
runtime; build; native; contentfiles; analyzers
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Platforms/build.csproj b/src/Platforms/build.csproj
index e75aa8f3..99150a1e 100644
--- a/src/Platforms/build.csproj
+++ b/src/Platforms/build.csproj
@@ -11,16 +11,16 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/src/python/nimbusml/__init__.py b/src/python/nimbusml/__init__.py
index d8da5d6d..e2bfa49c 100644
--- a/src/python/nimbusml/__init__.py
+++ b/src/python/nimbusml/__init__.py
@@ -2,7 +2,7 @@
Microsoft Machine Learning for Python
"""
-__version__ = '1.1.0'
+__version__ = '1.2.0'
# CoreCLR version of MicrosoftML is built on Windows.
# But file permissions are not preserved when it's copied to Linux.
diff --git a/src/python/nimbusml/ensemble/lightgbmbinaryclassifier.py b/src/python/nimbusml/ensemble/lightgbmbinaryclassifier.py
index c87bbbb0..7204edae 100644
--- a/src/python/nimbusml/ensemble/lightgbmbinaryclassifier.py
+++ b/src/python/nimbusml/ensemble/lightgbmbinaryclassifier.py
@@ -156,7 +156,7 @@ def __init__(
unbalanced_sets=False,
weight_of_positive_examples=1.0,
sigmoid=0.5,
- evaluation_metric='Logloss',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
diff --git a/src/python/nimbusml/ensemble/lightgbmclassifier.py b/src/python/nimbusml/ensemble/lightgbmclassifier.py
index b59c4f7c..0b87593c 100644
--- a/src/python/nimbusml/ensemble/lightgbmclassifier.py
+++ b/src/python/nimbusml/ensemble/lightgbmclassifier.py
@@ -78,6 +78,9 @@ class LightGbmClassifier(core, BasePredictor, ClassifierMixin):
:param caching: Whether trainer should cache input training data.
+ :param unbalanced_sets: Use for multi-class classification when training
+ data is not balanced.
+
:param use_softmax: Use softmax loss for the multi classification.
:param sigmoid: Parameter for the sigmoid function.
@@ -145,9 +148,10 @@ def __init__(
booster=None,
normalize='Auto',
caching='Auto',
+ unbalanced_sets=False,
use_softmax=None,
sigmoid=0.5,
- evaluation_metric='Error',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
@@ -198,6 +202,7 @@ def __init__(
booster=booster,
normalize=normalize,
caching=caching,
+ unbalanced_sets=unbalanced_sets,
use_softmax=use_softmax,
sigmoid=sigmoid,
evaluation_metric=evaluation_metric,
diff --git a/src/python/nimbusml/ensemble/lightgbmranker.py b/src/python/nimbusml/ensemble/lightgbmranker.py
index fb96f5cd..1a62d2bf 100644
--- a/src/python/nimbusml/ensemble/lightgbmranker.py
+++ b/src/python/nimbusml/ensemble/lightgbmranker.py
@@ -150,7 +150,7 @@ def __init__(
caching='Auto',
custom_gains=[0, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095],
sigmoid=0.5,
- evaluation_metric='NormalizedDiscountedCumulativeGain',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
diff --git a/src/python/nimbusml/ensemble/lightgbmregressor.py b/src/python/nimbusml/ensemble/lightgbmregressor.py
index 0d0a69ae..34aa732b 100644
--- a/src/python/nimbusml/ensemble/lightgbmregressor.py
+++ b/src/python/nimbusml/ensemble/lightgbmregressor.py
@@ -141,7 +141,7 @@ def __init__(
booster=None,
normalize='Auto',
caching='Auto',
- evaluation_metric='RootMeanSquaredError',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
diff --git a/src/python/nimbusml/internal/core/ensemble/lightgbmbinaryclassifier.py b/src/python/nimbusml/internal/core/ensemble/lightgbmbinaryclassifier.py
index 2bf8468b..f44c5841 100644
--- a/src/python/nimbusml/internal/core/ensemble/lightgbmbinaryclassifier.py
+++ b/src/python/nimbusml/internal/core/ensemble/lightgbmbinaryclassifier.py
@@ -145,7 +145,7 @@ def __init__(
unbalanced_sets=False,
weight_of_positive_examples=1.0,
sigmoid=0.5,
- evaluation_metric='Logloss',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
diff --git a/src/python/nimbusml/internal/core/ensemble/lightgbmclassifier.py b/src/python/nimbusml/internal/core/ensemble/lightgbmclassifier.py
index ca87aa7b..865587fd 100644
--- a/src/python/nimbusml/internal/core/ensemble/lightgbmclassifier.py
+++ b/src/python/nimbusml/internal/core/ensemble/lightgbmclassifier.py
@@ -70,6 +70,9 @@ class LightGbmClassifier(
:param caching: Whether trainer should cache input training data.
+ :param unbalanced_sets: Use for multi-class classification when training
+ data is not balanced.
+
:param use_softmax: Use softmax loss for the multi classification.
:param sigmoid: Parameter for the sigmoid function.
@@ -137,9 +140,10 @@ def __init__(
booster=None,
normalize='Auto',
caching='Auto',
+ unbalanced_sets=False,
use_softmax=None,
sigmoid=0.5,
- evaluation_metric='Error',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
@@ -165,6 +169,7 @@ def __init__(
self.booster = booster
self.normalize = normalize
self.caching = caching
+ self.unbalanced_sets = unbalanced_sets
self.use_softmax = use_softmax
self.sigmoid = sigmoid
self.evaluation_metric = evaluation_metric
@@ -201,6 +206,7 @@ def _get_node(self, **all_args):
booster=self.booster,
normalize_features=self.normalize,
caching=self.caching,
+ unbalanced_sets=self.unbalanced_sets,
use_softmax=self.use_softmax,
sigmoid=self.sigmoid,
evaluation_metric=self.evaluation_metric,
diff --git a/src/python/nimbusml/internal/core/ensemble/lightgbmranker.py b/src/python/nimbusml/internal/core/ensemble/lightgbmranker.py
index 6c06148d..17d23591 100644
--- a/src/python/nimbusml/internal/core/ensemble/lightgbmranker.py
+++ b/src/python/nimbusml/internal/core/ensemble/lightgbmranker.py
@@ -140,7 +140,7 @@ def __init__(
caching='Auto',
custom_gains=[0, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095],
sigmoid=0.5,
- evaluation_metric='NormalizedDiscountedCumulativeGain',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
diff --git a/src/python/nimbusml/internal/core/ensemble/lightgbmregressor.py b/src/python/nimbusml/internal/core/ensemble/lightgbmregressor.py
index 20fe5e57..6d053a54 100644
--- a/src/python/nimbusml/internal/core/ensemble/lightgbmregressor.py
+++ b/src/python/nimbusml/internal/core/ensemble/lightgbmregressor.py
@@ -133,7 +133,7 @@ def __init__(
booster=None,
normalize='Auto',
caching='Auto',
- evaluation_metric='RootMeanSquaredError',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
diff --git a/src/python/nimbusml/internal/entrypoints/trainers_lightgbmbinaryclassifier.py b/src/python/nimbusml/internal/entrypoints/trainers_lightgbmbinaryclassifier.py
index 5a54c69f..472fe605 100644
--- a/src/python/nimbusml/internal/entrypoints/trainers_lightgbmbinaryclassifier.py
+++ b/src/python/nimbusml/internal/entrypoints/trainers_lightgbmbinaryclassifier.py
@@ -26,7 +26,7 @@ def trainers_lightgbmbinaryclassifier(
unbalanced_sets=False,
weight_of_positive_examples=1.0,
sigmoid=0.5,
- evaluation_metric='Logloss',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
diff --git a/src/python/nimbusml/internal/entrypoints/trainers_lightgbmclassifier.py b/src/python/nimbusml/internal/entrypoints/trainers_lightgbmclassifier.py
index b1227046..d1ac99df 100644
--- a/src/python/nimbusml/internal/entrypoints/trainers_lightgbmclassifier.py
+++ b/src/python/nimbusml/internal/entrypoints/trainers_lightgbmclassifier.py
@@ -23,9 +23,10 @@ def trainers_lightgbmclassifier(
row_group_column_name=None,
normalize_features='Auto',
caching='Auto',
+ unbalanced_sets=False,
use_softmax=None,
sigmoid=0.5,
- evaluation_metric='Error',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
@@ -65,6 +66,8 @@ def trainers_lightgbmclassifier(
column (inputs).
:param caching: Whether trainer should cache input training data
(inputs).
+ :param unbalanced_sets: Use for multi-class classification when
+ training data is not balanced (inputs).
:param use_softmax: Use softmax loss for the multi
classification. (inputs).
:param sigmoid: Parameter for the sigmoid function. (inputs).
@@ -174,6 +177,11 @@ def trainers_lightgbmclassifier(
'Auto',
'Memory',
'None'])
+ if unbalanced_sets is not None:
+ inputs['UnbalancedSets'] = try_set(
+ obj=unbalanced_sets,
+ none_acceptable=True,
+ is_of_type=bool)
if use_softmax is not None:
inputs['UseSoftmax'] = try_set(
obj=use_softmax,
diff --git a/src/python/nimbusml/internal/entrypoints/trainers_lightgbmranker.py b/src/python/nimbusml/internal/entrypoints/trainers_lightgbmranker.py
index 5a3a44fd..1da8408d 100644
--- a/src/python/nimbusml/internal/entrypoints/trainers_lightgbmranker.py
+++ b/src/python/nimbusml/internal/entrypoints/trainers_lightgbmranker.py
@@ -25,7 +25,7 @@ def trainers_lightgbmranker(
caching='Auto',
custom_gains=[0, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095],
sigmoid=0.5,
- evaluation_metric='NormalizedDiscountedCumulativeGain',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
diff --git a/src/python/nimbusml/internal/entrypoints/trainers_lightgbmregressor.py b/src/python/nimbusml/internal/entrypoints/trainers_lightgbmregressor.py
index 32260ebe..ffd022cd 100644
--- a/src/python/nimbusml/internal/entrypoints/trainers_lightgbmregressor.py
+++ b/src/python/nimbusml/internal/entrypoints/trainers_lightgbmregressor.py
@@ -23,7 +23,7 @@ def trainers_lightgbmregressor(
row_group_column_name=None,
normalize_features='Auto',
caching='Auto',
- evaluation_metric='RootMeanSquaredError',
+ evaluation_metric='Default',
maximum_bin_count_per_feature=255,
verbose=False,
silent=True,
diff --git a/src/python/nimbusml/pipeline.py b/src/python/nimbusml/pipeline.py
index 74435d87..5a15bac4 100644
--- a/src/python/nimbusml/pipeline.py
+++ b/src/python/nimbusml/pipeline.py
@@ -2210,18 +2210,26 @@ def _validate_model_summary(self, model_summary):
"is expected ".format(
type(model_summary)))
- str_bias = 'Bias'
- str_classnames = 'ClassNames'
- str_coefficients = 'Coefficients'
- str_weights = 'Weights'
- str_gains = 'Gains'
- str_support_vectors = 'Support vectors.'
+ col_names = [
+ 'Bias',
+ 'ClassNames',
+ 'Coefficients',
+ 'PredictorName',
+ 'Summary',
+ 'VectorName'
+ ]
+
+ col_name_prefixes = [
+ 'Weights',
+ 'Gains',
+ 'Support vectors.',
+ 'VectorData'
+ ]
for col in model_summary.columns:
- if col in (str_bias, str_classnames, str_coefficients):
+ if col in col_names:
pass
- elif col.startswith(str_weights) or col.startswith(
- str_gains) or col.startswith(str_support_vectors):
+ elif any([col.startswith(pre) for pre in col_name_prefixes]):
pass
else:
raise TypeError(
diff --git a/src/python/nimbusml/tests/model_summary/test_model_summary.py b/src/python/nimbusml/tests/model_summary/test_model_summary.py
index 403c86cb..e21d25e9 100644
--- a/src/python/nimbusml/tests/model_summary/test_model_summary.py
+++ b/src/python/nimbusml/tests/model_summary/test_model_summary.py
@@ -32,7 +32,7 @@
from nimbusml.linear_model import OrdinaryLeastSquaresRegressor
from nimbusml.linear_model import PoissonRegressionRegressor
from nimbusml.linear_model import SgdBinaryClassifier
-# from nimbusml.linear_model import SymSgdBinaryClassifier
+#from nimbusml.linear_model import SymSgdBinaryClassifier
from nimbusml.multiclass import OneVsRestClassifier
from nimbusml.naive_bayes import NaiveBayesClassifier
from sklearn.utils.testing import assert_raises
@@ -53,13 +53,6 @@
'col=sex:TX:7 col=native-country-region:TX:8 header+'
label_column = 'label'
learners = [
- FastForestBinaryClassifier(),
- FastForestRegressor(),
- FastTreesBinaryClassifier(),
- FastTreesRegressor(),
- FastTreesTweedieRegressor(),
- LightGbmRegressor(),
- LightGbmBinaryClassifier(),
AveragedPerceptronBinaryClassifier(),
FastLinearBinaryClassifier(),
FastLinearClassifier(),
@@ -68,29 +61,35 @@
LogisticRegressionClassifier(),
OnlineGradientDescentRegressor(),
SgdBinaryClassifier(),
- # SymSgdBinaryClassifier(),
+ # Error on linux
+ # Unable to load shared library 'SymSgdNative' or one of its dependencies
+ #SymSgdBinaryClassifier(),
OrdinaryLeastSquaresRegressor(),
- PoissonRegressionRegressor()
+ PoissonRegressionRegressor(),
+ OneVsRestClassifier(FastLinearBinaryClassifier()),
+ LightGbmClassifier(),
+ GamRegressor(),
+ GamBinaryClassifier(),
+ PcaAnomalyDetector(),
+ FactorizationMachineBinaryClassifier(),
+ KMeansPlusPlus(),
+ NaiveBayesClassifier()
+
+ # Skipping these tests since they are throwing the following error:
+ # *** System.NotSupportedException: 'Column has variable length
+ # vector: CategoricalSplitFeatures. Not supported in python.
+ # Drop column before sending to Python
+ #FastForestBinaryClassifier(),
+ #FastForestRegressor(),
+ #FastTreesBinaryClassifier(),
+ #FastTreesRegressor(),
+ #FastTreesTweedieRegressor(),
+ #LightGbmRegressor(),
+ #LightGbmBinaryClassifier(),
]
learners_not_supported = [
- NaiveBayesClassifier(),
- # fix in nimbusml, needs to implement ICanGetSummaryAsIDataView
- KMeansPlusPlus(),
- # fix in nimbusml, needs to implement ICanGetSummaryAsIDataView
- # fix in nimbusml, needs to implement ICanGetSummaryAsIDataView
- FactorizationMachineBinaryClassifier(),
- PcaAnomalyDetector(),
- # fix in nimbusml, needs to implement ICanGetSummaryAsIDataView
- # PcaTransformer(), # REVIEW: crashes
- GamBinaryClassifier(),
- # fix in nimbusml, needs to implement ICanGetSummaryAsIDataView
- GamRegressor(), # fix in nimbusml, needs to implement ICanGetSummaryAsIDataView
- LightGbmClassifier(),
- # fix in nimbusml, needs to implement ICanGetSummaryAsIDataView
- # LightGbmRanker(), # REVIEW: crashes
- # fix in nimbusml, needs to implement ICanGetSummaryAsIDataView
- OneVsRestClassifier(FastLinearBinaryClassifier()),
+ #PcaTransformer(), # REVIEW: crashes
]
@@ -104,6 +103,7 @@ def test_model_summary(self):
pipeline.fit(train_stream, label_column)
pipeline.summary()
+ @unittest.skip("No unsupported learners")
def test_model_summary_not_supported(self):
for learner in learners_not_supported:
pipeline = Pipeline(
diff --git a/src/python/nimbusml/tests/timeseries/test_ssaforecaster.py b/src/python/nimbusml/tests/timeseries/test_ssaforecaster.py
index d4cc3e84..27f35044 100644
--- a/src/python/nimbusml/tests/timeseries/test_ssaforecaster.py
+++ b/src/python/nimbusml/tests/timeseries/test_ssaforecaster.py
@@ -14,7 +14,6 @@
class TestSsaForecaster(unittest.TestCase):
- @unittest.skip('ml.net libraries containing timeseries forecasting are not included with nimbusml yet.')
def test_simple_forecast(self):
seasonality_size = 5
seasonal_data = np.arange(seasonality_size)
@@ -39,7 +38,6 @@ def test_simple_forecast(self):
self.assertEqual(len(data['fc.0']), 15)
- @unittest.skip('ml.net libraries containing timeseries forecasting are not included with nimbusml yet.')
def test_multiple_user_specified_columns_is_not_allowed(self):
path = get_dataset('timeseries').as_filepath()
data = FileDataStream.read_csv(path)
diff --git a/src/python/setup.py b/src/python/setup.py
index 2ed6c93d..80f47621 100644
--- a/src/python/setup.py
+++ b/src/python/setup.py
@@ -45,7 +45,7 @@
# Versions should comply with PEP440. For a discussion on
# single-sourcing the version across setup.py and the project code, see
# https://packaging.python.org/en/latest/single_source_version.html
- version='1.1.0',
+ version='1.2.0',
description='NimbusML',
long_description=long_description,
diff --git a/src/python/tests/test_estimator_checks.py b/src/python/tests/test_estimator_checks.py
index de6d5900..f101b1ec 100644
--- a/src/python/tests/test_estimator_checks.py
+++ b/src/python/tests/test_estimator_checks.py
@@ -278,9 +278,6 @@ def load_json(file_path):
# skip SymSgdBinaryClassifier for now, because of crashes.
if 'SymSgdBinaryClassifier' in class_name:
continue
- # skip for now because the ml.net binaries do not contain the SsaForecasting code.
- if 'SsaForecaster' in class_name:
- continue
mod = __import__('nimbusml.' + e[0], fromlist=[str(class_name)])
the_class = getattr(mod, class_name)
diff --git a/src/python/tools/manifest.json b/src/python/tools/manifest.json
index 8aa6ca9a..35ebb09d 100644
--- a/src/python/tools/manifest.json
+++ b/src/python/tools/manifest.json
@@ -11535,7 +11535,7 @@
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": "Logloss"
+ "Default": "Default"
},
{
"Name": "MaximumBinCountPerFeature",
@@ -11974,6 +11974,18 @@
"IsNullable": false,
"Default": "Auto"
},
+ {
+ "Name": "UnbalancedSets",
+ "Type": "Bool",
+ "Desc": "Use for multi-class classification when training data is not balanced",
+ "Aliases": [
+ "us"
+ ],
+ "Required": false,
+ "SortOrder": 150.0,
+ "IsNullable": false,
+ "Default": false
+ },
{
"Name": "UseSoftmax",
"Type": "Bool",
@@ -12020,7 +12032,7 @@
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": "Error"
+ "Default": "Default"
},
{
"Name": "MaximumBinCountPerFeature",
@@ -12517,7 +12529,7 @@
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": "NormalizedDiscountedCumulativeGain"
+ "Default": "Default"
},
{
"Name": "MaximumBinCountPerFeature",
@@ -12975,7 +12987,7 @@
"Required": false,
"SortOrder": 150.0,
"IsNullable": false,
- "Default": "RootMeanSquaredError"
+ "Default": "Default"
},
{
"Name": "MaximumBinCountPerFeature",
diff --git a/version.txt b/version.txt
index 1cc5f657..867e5243 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-1.1.0
\ No newline at end of file
+1.2.0
\ No newline at end of file