Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Haga lo que hicimos - Operaciones entre Arrays

Datos anteriores

import numpy as np
enlace = "https://gist.githubusercontent.com/ahcamachod/9be09de793dc3bf1e6c3d98eb4e5b1ef/raw/21b85572693200040e11284ef6dcfc3457ec8e11/citrus.csv"
carga_datos = np.loadtxt(enlace,delimiter=",",usecols= np.arange(1,6,1),skiprows=1)
carga_datos
diametro_naranjas = carga_datos[:5000,0] # fila 0 a 4999(+1), columna 0
diametro_toronjas = carga_datos[5000:,0] # fila 5000 a final, columna 0
peso_naranjas = carga_datos[:5000,1] # fila 0 a 4999(+1), columna 1
peso_toronjas = carga_datos[5000:,1] # fila 5000 a final, columna 1

Naranjas

nn = np.size(diametro_naranjas)
xn = diametro_naranjas
yn = peso_naranjas
an = (nn*np.sum(xn*yn)-np.sum(xn)*np.sum(yn))/(nn*np.sum(xn**2)-np.sum(xn)**2) 
bn = (np.sum(yn)-an*np.sum(xn))/nn
print(f"El coeficiente angular (pendiente) es: {an}\nEl coeficiente lineal (intersección) es: {bn} ")
yn = an*xn+bn
np.linalg.norm(peso_naranjas - yn)
import matplotlib.pyplot as plt
plt.title('Naranjas')
plt.xlabel('Diámetro')
plt.ylabel('Peso')
plt.plot(diametro_naranjas,peso_naranjas,label="Datos reales (Peso vs Diámetro)",color="#1f77b4") # Línea de datos reales
plt.plot(xn,yn, label="Datos estimados (Regresión lineal)",color="red")
plt.grid()
plt.legend()

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Toronjas

nt = np.size(diametro_toronjas)
xt = diametro_toronjas
yt = peso_toronjas
at = (nt*np.sum(xt*yt)-np.sum(xt)*np.sum(yt))/(nt*np.sum(xt**2)-np.sum(xt)**2) 
bt = (np.sum(yt)-at*np.sum(xt))/nt
print(f"El coeficiente angular (pendiente) es: {at}\nEl coeficiente lineal (intersección) es: {bt} ")
yt = at*xt+bt
np.linalg.norm(peso_toronjas - yt)
import matplotlib.pyplot as plt
plt.title('Toronjas')
plt.xlabel('Diámetro')
plt.ylabel('Peso')
plt.plot(diametro_toronjas,peso_toronjas,label="Datos reales (Peso vs Diámetro)",color="green") # Línea de datos reales
plt.plot(xt,yt, label="Datos estimados (Regresión lineal)",color="red")
plt.grid()
plt.legend()

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Naranjas y Toronjas

x_total = np.concatenate((diametro_naranjas, diametro_toronjas))
y_total = np.concatenate((peso_naranjas, peso_toronjas))
n_total = np.size(x_total)
a_total = (n_total*np.sum(x_total*y_total) - np.sum(x_total)*np.sum(y_total)) / (n_total*np.sum(x_total**2) - np.sum(x_total)**2)
b_total = (np.sum(y_total) - a_total*np.sum(x_total)) / n_total
y_estimada_total = a_total * x_total + b_total
import matplotlib.pyplot as plt
plt.title("Naranjas y Toronjas")
plt.xlabel("Diámetro")
plt.ylabel("Peso")
plt.plot(diametro_naranjas, peso_naranjas, label="Naranjas", color="#1f77b4")
plt.plot(diametro_toronjas, peso_toronjas, label="Toronjas", color="green")
plt.plot(x_total, y_estimada_total, label="Regresión lineal conjunta", color="red")
plt.legend()
plt.grid()
plt.show()

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

¡Hola! ¿Cómo estás?

Gracias por tu aporte en el foro. Tu contribución es esencial para el crecimiento de nuestra comunidad en Alura.

Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!