1
resposta

Faça como eu fiz

import numpy as np

# Supondo que já temos:
# diametro_laranja e peso_laranja definidos
# E b = 17
b = 17

# Gerar 1000 valores aleatórios para m, dentro de um intervalo razoável
valores_m = np.random.uniform(0, 10, 1000)  # pode ajustar intervalo se quiser

# Variável para guardar o melhor m e o menor erro
melhor_m = None
menor_erro = float('inf')

# Testar todos os m gerados
for m in valores_m:
    y_estimado = m * diametro_laranja + b
    erro = np.mean((peso_laranja - y_estimado)**2)  # erro quadrático médio

    if erro < menor_erro:
        menor_erro = erro
        melhor_m = m

# Exibir resultado
print(f"Melhor coeficiente angular (m) encontrado aleatoriamente: {melhor_m:.4f}")
print(f"Erro quadrático médio correspondente: {menor_erro:.4f}")
1 resposta

Oi, Gilrlane! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Seu uso da função np.random.uniform para gerar uma amostragem de coeficientes e buscar o menor erro quadrático médio foi bem empregada.

Compartilho a função np.argmin, que ajuda a encontrar o índice do menor valor em um array. Veja este exemplo:


import numpy as np
erros = np.array([5.4, 3.2, 4.1])
indice_menor_erro = np.argmin(erros)
print(indice_menor_erro)

Este código retorna o índice do menor valor. Isso pode ser útil quando você armazena os erros em uma lista e quer acessar diretamente o m correspondente.

Até mais!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!