Linear Regression
Modelos de regresión lineal (ML supervisado)
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
def estimate_b0_b1(x,y):
n = np.size(x)
#obtenemos promedios de x y y
m_x,m_y = np.mean(x), np.mean(y)
#calcular sumatoria de xy y sumatoria de xx
sumatoria_xy = np.sum((x-m_x)*(y-m_y))
sumatoria_xx = np.sum(x*(x-m_x))
#coeficiente de regresion
b_1 = sumatoria_xy/sumatoria_xx
b_0 = m_y - b_1*m_x
return(b_0,b_1)
#grafico
def plot_regression(x,y,b):
plt.scatter(x, y , color = "g", marker= "o", s = 30)
y_pred= b[0] + b[1]*x
plt.plot(x, y_pred, color = "b")
#etiqueta de grafico
plt.xlabel('x-independiente')
plt.ylabel('y-dependiente')
plt.show()
#codigo principal
def main():
#dataset
x = np.array([1,2,3,4,5])
y = np.array([2,3,5,6,5])
#obtenemos bo y b1
b = estimate_b0_b1(x,y)
print("los valores de b0={}, b1={}".format(b[0],b[1]))
#obtenemos grafica
plot_regression(x, y, b)
if __name__== '__main__':
main()
# Start writing code here...