Código para Naranjas:
# ... codigo de ejercicios anteriores
n_y = pesos_naranjas
n_x = diametros_naranjas
n_n = np.size(n_x)
n_a = ((n_n*np.sum(n_x*n_y))-(np.sum(n_x)*np.sum(n_y)))/((n_n*np.sum(n_x**2))-(np.sum(n_x))**2)
n_b = np.mean(n_y) - n_a * np.mean(n_x)
n_y = (n_a*n_x)+n_b
n_v = np.linalg.norm(pesos_naranjas - n_y)
print(f'La pendiente es: {n_a}\nLa intersección es: {b}\nLa norma del vector es: {n_v}')
# Grafico
plt.title('Peso en funcion del diametro', fontsize=16, weight='bold')
plt.xlabel('Diametro', fontsize=12)
plt.ylabel('Peso', fontsize=12)
plt.plot(diametros_naranjas,pesos_naranjas, color='orange', label = "Naranjas")
plt.plot(n_x,n_y, color='red', label = "Regresion lineal")
plt.legend()
plt.show()
Salida:
La pendiente es: 14.799745231984312
La intersección es: 27.385603812186574
La norma del vector es: 46.32284523962466
Código para Toronjas:
# ... codigo de ejercicios anteriores
t_y = pesos_toronjas
t_x = diametros_toronjas
t_n = np.size(t_x)
t_a = ((t_n*np.sum(t_x*t_y))-(np.sum(t_x)*np.sum(t_y)))/((t_n*np.sum(t_x**2))-(np.sum(t_x))**2)
t_b = np.mean(t_y) - t_a * np.mean(t_x)
t_y = (t_a*t_x)+t_b
t_v = np.linalg.norm(pesos_toronjas - t_y)
print(f'La pendiente es: {t_a}\nLa intersección es: {t_b}\nLa norma del vector es: {t_v}')
# Grafico
plt.title('Peso en funcion del diametro', fontsize=16, weight='bold')
plt.xlabel('Diametro', fontsize=12)
plt.ylabel('Peso', fontsize=12)
plt.plot(diametros_toronjas,pesos_toronjas, color='red', label = "Toronjas")
plt.plot(t_x,t_y, color='skyblue', label = "Regresion lineal")
plt.legend()
plt.show()
Salida:
La pendiente es: 15.70884459360376
La intersección es: 17.007102876817726
La norma del vector es: 44.60533206058902