blob: 917e6524d3fae3b188190b00f60a5a79a470877b [file]
# -------------------------------------------------------------
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
import unittest, contextlib, io
class TestRANDOMFOREST(unittest.TestCase):
def test_randomForest(self):
# Example test case provided in python the code block
buf = io.StringIO()
with contextlib.redirect_stdout(buf):
import numpy as np
from systemds.context import SystemDSContext
from systemds.operator.algorithm import randomForest, randomForestPredict
# tiny toy dataset
X = np.array([[1],
[2],
[10],
[11]], dtype=np.int64)
y = np.array([[1],
[1],
[2],
[2]], dtype=np.int64)
with SystemDSContext() as sds:
X_sds = sds.from_numpy(X)
y_sds = sds.from_numpy(y)
ctypes = sds.from_numpy(np.array([[1, 2]], dtype=np.int64))
# train a 4-tree forest (no sampling)
M = randomForest(
X_sds, y_sds, ctypes,
num_trees = 4,
sample_frac = 1.0,
feature_frac = 1.0,
max_depth = 3,
min_leaf = 1,
min_split = 2,
seed = 42
)
preds = randomForestPredict(X_sds, ctypes, M).compute()
print(preds)
expected="""[[1.]
[1.]
[2.]
[2.]]"""
self.assertEqual(buf.getvalue().strip(), expected)
if __name__ == '__main__':
unittest.main()