Hi - There are couple of issues I’m facing -
-
Exercise 2 - # UNIT TESTS
split_dataset_test(split_dataset) - Stuck in an ValueError: operands could not be broadcast together with shapes (3,) (4,) ) -
Exercise 4 - # UNIT TESTS
get_best_split_test(get_best_split) - Stuck in an AssertionError: When the target variable is pure, there is no best split to do. Expected -1, got 0
Detailed Issue #1 error
- When running the cell that has the below code, I’m getting the below error( ValueError: operands could not be broadcast together with shapes (3,) (4,) ).
UNIT TESTS
split_dataset_test(split_dataset)
ValueError Traceback (most recent call last)
in
11
12 # UNIT TESTS
—> 13 split_dataset_test(split_dataset)
~/work/public_tests.py in split_dataset_test(target)
70 ‘right’: np.array([2, 7, 9, 10])}
71
—> 72 assert np.allclose(right, expected[‘right’]) and np.allclose(left, expected[‘left’]), f"Wrong value when target is at index 0. \nExpected: {expected} \ngot: {left:{left}, ‘right’: {right}}"
73
74
<array_function internals> in allclose(*args, **kwargs)
/opt/conda/lib/python3.7/site-packages/numpy/core/numeric.py in allclose(a, b, rtol, atol, equal_nan)
2247
2248 “”"
→ 2249 res = all(isclose(a, b, rtol=rtol, atol=atol, equal_nan=equal_nan))
2250 return bool(res)
2251
<array_function internals> in isclose(*args, **kwargs)
/opt/conda/lib/python3.7/site-packages/numpy/core/numeric.py in isclose(a, b, rtol, atol, equal_nan)
2356 yfin = isfinite(y)
2357 if all(xfin) and all(yfin):
→ 2358 return within_tol(x, y, atol, rtol)
2359 else:
2360 finite = xfin & yfin
/opt/conda/lib/python3.7/site-packages/numpy/core/numeric.py in within_tol(x, y, atol, rtol)
2337 def within_tol(x, y, atol, rtol):
2338 with errstate(invalid=‘ignore’):
→ 2339 return less_equal(abs(x-y), atol + rtol * abs(y))
2340
2341 x = asanyarray(a)
ValueError: operands could not be broadcast together with shapes (3,) (4,)
- Details of issue #2 error
AssertionError Traceback (most recent call last)
in
3
4 # UNIT TESTS
----> 5 get_best_split_test(get_best_split)
~/work/public_tests.py in get_best_split_test(target)
120 result = target(X, y, node_indexes)
121
→ 122 assert result == -1, f"When the target variable is pure, there is no best split to do. Expected -1, got {result}"
123
124 y = X[:,0]
AssertionError: When the target variable is pure, there is no best split to do. Expected -1, got 0