Para a realização do terceiro desafio pensei em criar uma função que calculasse os coeficientes, logo o fiz assim :
import numpy as np
import matplotlib.pyplot as plt
url = 'https://raw.githubusercontent.com/allanspadini/numpy/dados/citrus.csv'
array = np.loadtxt(url,delimiter = ',',usecols = np.arange(1,6,1),skiprows= 1)
array
# Definir a coluna 0 em uma variável chamada Diametro
# Definir a coluna 1 em uma variável chamada Peso
# Laranja é de 0 a 4999 e toranja 5000 até o ultimo
diametro = array[:,0]
peso = array[:,1]
# Criar arrays específicos para laranja e toranja
laranja_diametro = diametro[0:5000,]
laranja_peso = peso[0:5000,]
toranja_diametro = diametro[5000:,]
toranja_peso = peso[5000:,]
# Matplotlib para gerar gráfico
plt.plot(laranja_diametro,laranja_peso)
plt.plot(toranja_diametro,toranja_peso)
plt.show()
# Achar coeficiente linear e coeficente angular para toranjas e para laranjas
def coeficiente_angular(diametro,peso):
Y = diametro
X = peso
n = np.size(diametro)
a = (n * np.sum(X * Y) - np.sum(X) * np.sum(Y)) / (n * np.sum(X**2) - np.sum(X)**2)
return a
def coeficiente_linear(diametro,peso):
Y = diametro
X = peso
n = np.size(diametro)
a = coeficiente_angular(Y,X)
b = np.mean(Y) - a *np.mean(X)
return b
coeficiente_angular_toranjas = coeficiente_angular(toranja_diametro,toranja_peso)
coeficiente_linear_toranjas = coeficiente_linear(toranja_diametro, toranja_peso)
coeficiente_angular_laranjas = coeficiente_angular(laranja_diametro,laranja_peso)
coeficiente_linear_laranjas = coeficiente_linear(laranja_diametro,laranja_peso)
y_laranja = coeficiente_angular_laranjas * laranja_peso + coeficiente_linear_laranjas
y_toranja = coeficiente_angular_toranjas * toranja_peso + coeficiente_linear_toranjas
plt.plot(laranja_peso,laranja_diametro)
plt.plot(laranja_peso, y_laranja)
plt.plot(toranja_peso, toranja_diametro)
plt.plot(toranja_peso, y_toranja)
plt.xlabel('peso')
plt.ylabel('diametro')
Mas não consegui gerar os gráficos separados de laranja e toranja, bem como acho que a visualização ficou confusa