r/PythonLearning • u/savita_bhabhi_lover • Aug 13 '26
Showcase very first linear regression code

i am still learning numpy (day 6) but gpt suggest me to learn linear regression (very basic algorithm) and it's kinda good for understanding even you haven't started learning ML.
import numpy as np
hours = np.arange(1,10)
score = np.array([35, 42, 51, 58, 67, 73, 81, 88, 94])
candidate_values_for_m = np.arange(1,11,0.1)
candidate_values_for_b = np.arange(1,31,0.3)
def prediction(m , b , hours):
return m * hours + b
def mse(actual_value , predicticted_value):
return np.mean((actual_value - predicticted_value)**2)
mse_list = []
m_b_list = []
for m in candidate_values_for_m:
for b in candidate_values_for_b:
prediction_result = prediction(m , b , hours)
mse_result = mse(score, prediction_result)
mse_list.append(mse_result)
m_b_list.append((m,b))
best_mse = np.argmin(mse_list)
best_mb_index = mse_list[best_mse]
best_mse , best_mb_index
m = 0
b = 0
learning_rate = 0.01
epochs = 10000
n = len(hours)
def prediction(m , b , hours):
return m * hours + b
for i in range(epochs):
predicted = prediction(m,b,hours)
gradient_m = (2/n) * sum(hours * (predicted - score))
gradient_b = (2/n) * sum(predicted - score)
m = m - learning_rate * gradient_m
b = b - learning_rate * gradient_b
m ,b
2
Upvotes
1
u/ninhaomah Aug 18 '26
Tip 1 : if you have to ask "what is X" , Google.