X = np.array([ [1, 2, 0], [2, 1, 1], [3, 3, 0], [2, 4, 1], [4, 2, 0], ]) actual_times = np.array([16, 29, 28, 35, 31]) w = np.zeros(3) b = 0.0 final_w, final_b = gradient_descent(X, actual_times, w, b, learning_rate=0.05, iterations=10000) print("Final weights:", final_w) print("Final bias:", final_b) # Final weights: [ 5. 2. 10.] # Final bias: 7.0 __ __