C2_W4_Decision_Tree_with_Markdown running erros when submitted

Hey guys, i’m trying to submit my assignment but some random erros keep occuring eventhough i’m 100% sure that my code is right because i’ve already run every code bloc and i got the right result with some erros that i didn’t understand.
Here’s a screenshot about the submissiion errors:

and for the blocs errors:(as you can see i got the right output but…)

<Best feature to split on: 2

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)
140 node_indexes = [2, 3, 4]
141 result = target(X, y, node_indexes)
→ 142 assert result == 0, f"Wrong result. Expected 0, got {result}"
143
144 n_samples = 100

AssertionError: Wrong result. Expected 0, got -1>

As we saw above, the function returns that the best feature to split on at the root node is feature 2 (“Solitary”)

And here’s another error:

<Left indices: [0, 1, 2, 3, 4, 7, 9]
Right indices: [5, 6, 8]

ValueError Traceback (most recent call last)
in
14
15 # UNIT TESTS
—> 16 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,)>

send me your code in a private message

I have the same issue

### START CODE HERE ###
#m = X.shape[0]
#m = len(node_indices)

the output is:
tests

5
0 0
1 1
2 0
3 1
4 0
[1, 3]
[0, 2, 4]

5
0 0
1 1
2 0
3 1
4 0
[1, 3]
[0, 2, 4]

7
0 0
1 1
2 0
3 1
4 0
5 1
6 1
[1, 3, 5, 6]
[0, 2, 4]

ValueError Traceback (most recent call last)
in
15 # UNIT TESTS
16 print(‘tests’)
—> 17 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,)
#print()
for i in node_indices:
#print(str(i) + " " + str(X[i,feature]))
if(X[i,feature]):
left_indices.append(i) #left_indices.append(node_indices[i])
else:
right_indices.append(i)
#print(left_indices)
#print(right_indices)
### END CODE HERE ###

It seems to work now. I’m confused, perhaps it didn’t work because I had to restart the lab and I didn’t run all the previous cells? I ran all the cells from the top and now it works.