Conversation
| @@ -0,0 +1,77 @@ | |||
| import numpy as np | |||
There was a problem hiding this comment.
Would benefit from a statement of what the code does.
| @@ -0,0 +1,77 @@ | |||
| import numpy as np | |||
|
|
|||
| def compCostFunction(estim_y, true_y): | |||
There was a problem hiding this comment.
add a doc string to explain what the function is doing
| # To be deleted later | ||
| # feature_1 = np.linspace(0, 2, num=100) |
| @@ -0,0 +1,77 @@ | |||
| import numpy as np | |||
|
|
|||
| def compCostFunction(estim_y, true_y): | |||
| X = np.random.randn(100,3) # feature matrix | ||
| y = 1 + np.dot(X, [3.5, 4., -4]) # target vector | ||
|
|
||
| m = np.shape(X)[0] # nr of samples | ||
| n = np.shape(X)[1] # nr of features |
There was a problem hiding this comment.
This code should be moved down to the main part of the code
| cost_history.append(cost) | ||
|
|
||
| return W, cost_history | ||
|
|
There was a problem hiding this comment.
Please move the bulk of the code underneath a main block like this:
if __name__ == "__main__":| print(params) | ||
| print(history) | ||
|
|
||
| import matplotlib.pyplot as plt |
There was a problem hiding this comment.
Imports should be specified at the top of the script
| def test_dimensions(x, y): | ||
| # this checks whether the x and y have the same number of samples | ||
| assert isinstance(x, np.ndarray), "Only works for arrays" | ||
| assert isinstance(y, np.ndarray), "Only works for arrays" | ||
| return x.shape[0] == y.shape[0] |
There was a problem hiding this comment.
This function does not seem to be called - can it be removed?
| @@ -0,0 +1,77 @@ | |||
| import numpy as np | |||
|
|
|||
| def compCostFunction(estim_y, true_y): | |||
| m = np.shape(X)[0] # nr of samples | ||
| n = np.shape(X)[1] # nr of features | ||
|
|
||
| def iterativeLinearRegression(X, y, alpha=0.01): |
| y = 1 + np.dot(X, [3.5, 4., -4]) # target vector | ||
|
|
||
| m = np.shape(X)[0] # nr of samples | ||
| n = np.shape(X)[1] # nr of features |
There was a problem hiding this comment.
Change global variables to capital letters
| # To be deleted later | ||
| # feature_1 = np.linspace(0, 2, num=100) | ||
|
|
||
| X = np.random.randn(100,3) # feature matrix |
There was a problem hiding this comment.
This has the same name as argument 1 of iterativeLinearRegression function
| This makes iterative LR via gradient descent and returns estimated parameters and history list. | ||
| """ | ||
| steps=500 | ||
| X = np.concatenate((np.ones((m, 1)), X), axis=1) |
There was a problem hiding this comment.
What does this line do? Would benefit from a comment
| """ | ||
| This makes iterative LR via gradient descent and returns estimated parameters and history list. | ||
| """ | ||
| steps=500 |
There was a problem hiding this comment.
This should be an argument to the function rather than hard-coded within it. (please)
| W = W - alpha * gradient | ||
| if i % 10 == 0: | ||
| print(f"step: {i}\tcost: {cost}") | ||
|
|
There was a problem hiding this comment.
Add a debugging argument to the function parameters and only print when it's true
dezeraecox
left a comment
There was a problem hiding this comment.
Very good work! Please make the requested changes before we merge.
| assert isinstance(x, np.ndarray), "Only works for arrays" | ||
| assert isinstance(y, np.ndarray), "Only works for arrays" |
There was a problem hiding this comment.
try:
return x.shape[0] == y.shape[0]
except Exception:
raise TypeError("Only works for arrays")
No description provided.