Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

CHALLENGE

Continuando con la seccion 3. del curso, aqui dejo mi solucion del CHALLENGE

import numpy as np
import matplotlib.pyplot as plt

url = 'https://gist.githubusercontent.com/ahcamachod/9be09de793dc3bf1e6c3d98eb4e5b1ef/raw/21b85572693200040e11284ef6dcfc3457ec8e11/citrus.csv'
datos_citrus = np.loadtxt(url, delimiter=',', usecols=np.arange(1, 6, 1), skiprows=1)

diametro_naranjas = datos_citrus[:5000,0]
diametro_toronjas = datos_citrus[5000:,0]
peso_naranjas = datos_citrus[:5000,1]
peso_toronjas = datos_citrus[5000:,1]

print(np.sum(np.isnan(datos_citrus[:,0])))
print(np.sum(np.isnan(datos_citrus[:,1])))


def a (x , y, n):
    a = ((n*sum(x*y))-(sum(x)*sum(y)))/(n*sum(x**2)-abs(sum(x))**2)
    return a

def b (x, y, n):
    b = ((sum(y)*sum(x**2))-(sum(x)*sum(x*y)))/(n*sum(x**2)-abs(sum(x))**2)
    return b

plt.plot(diametro_toronjas, peso_toronjas)
plt.plot(diametro_naranjas, peso_naranjas)
plt.title('Toronjas vs Naranjas')
plt.xlabel('diametro')
plt.ylabel('peso')
plt.legend(['toronjas','naranjas'])
plt.grid(True)

a_t = a(diametro_toronjas, peso_toronjas, np.size(diametro_toronjas))
b_t = b(diametro_toronjas, peso_toronjas, np.size(diametro_toronjas))

a_n = a(diametro_naranjas, peso_naranjas, np.size(diametro_naranjas))
b_n = b(diametro_naranjas, peso_naranjas, np.size(diametro_naranjas))

print(f'La pendiente de la regresecion linal de las toronjas es {a_t} \n')
print(f'El offset de la regresecion linal de las toronjas es {b_t} \n')

print(f'La pendiente de la regresecion linal de las naranjas es {a_n} \n')
print(f'El offset de la regresecion linal de las naranjas es {b_n} \n')

y_t = a_t * diametro_toronjas + b_t
y_n = a_n * diametro_naranjas + b_n

plt.plot(diametro_toronjas, y_t)
plt.plot(diametro_naranjas, y_n)
plt.legend(['toronjas','naranjas','RL toronjas', 'RL naranjas'])
plt.show()