Data Science, Linear Regression, Machine Learning, Python, Numpy.
`X` and `y`, initializes `betas` using `initialize_betas,` and performs gradient descent to optimize the values of `betas.` It iterates `iterations` many times, updating the value of `betas` each time using the `gradient_desc` method, and prints the loss every 1000 iterations. It returns the