No curso "NumPy análise numérica eficiente com Python", fiquei com uma dúvida quando chegou nessa parte:
norma = np.array([])
np.random.seed(84)
coef_angulares = np.random.uniform(low=0.0,high=30.0,size=100)
for i in range(100):
norma = np.append(norma, np.linalg.norm(Y- (coef_angulares[i]*X+b)) )
Ele gerou coef_angulares aleatórios, contendo 100 elementos, conforme foi falado no curso, usando a função np.random.uniform. Porém tenho uma dúvida especifica nesse ponto: Eu não entendi muito bem o que está sendo feito nesse laço "for i in range(100)", a cada iteração, o array "norma" vai adicionando np.linalg.norm(Y- (coef_angulares[i]*X+b)), que parece estar calculando o erro e normalizando ele, e faz isso 100 vezes. Não entendi o que é isso:
PERGUNTAS:
O que array "norma" após as 100 iterações desse for representa? São previsões? São erros? Não consegui entender muito bem.
Por que esse laço for foi executado durante 100 iterações ?
Pra que o que array "norma" é utilizado, após as 100 iterações desse for ?
O "coef_angulares[i]" é um número ou um array? ou seja, ao acessar a varíavel coef_angulares no indice i, o resultado deverá ser um número ou um array?
Complementando a primeira pergunta e também a quarta pergunta, Fiquei um pouco confuso nessa parte "coef_angulares[i]", tenho mais essa dúvida: (coef_angulares[i]*X+b) parece ser a aplicação da fórmula da reta. Mais não entendi muito bem uma coisa: por que acessamos **coef_angulares[i] ** ?, ele é um vetor ou um número?