I think Cost after iteration 0: 0.6950464961800915 should be correct, it’s calling the same function with the same parameter as above, why would the result be different? The " All tests passed." accepted 0: 0.6950464961800915 as being correct after 0 iteration just above.
These are my results:
Cost after iteration 0: 0.6950464961800915
Cost after iteration 100: 0.5892596054583805
Cost after iteration 200: 0.5232609173622991
…
Cost after iteration 2400: 0.026615212372776077
Cost after iteration 2499: 0.024821292218353375
Training set accuracy:
Accuracy: 0.9999999999999998
Test set accuracy:
Accuracy: 0.74
What are yours looking like?