Introdução
Neste projeto, você aprenderá como implementar o método dos Mínimos Quadrados Ordinários (Ordinary Least Squares - OLS) em Python. OLS é uma técnica fundamental de otimização matemática utilizada em machine learning, particularmente em problemas de regressão linear.
🎯 Tarefas
Neste projeto, você aprenderá:
- Como implementar a função OLS para calcular a inclinação (w1) e a interceptação (w0) de uma equação linear com base em dados de amostra.
- Como testar a função OLS com dados de amostra e verificar a correção dos resultados.
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Derivar as fórmulas OLS para calcular a inclinação e a interceptação de uma equação linear.
- Implementar a função OLS em Python sem usar nenhuma biblioteca externa.
- Testar e validar a função OLS com dados de amostra.
- Compreender a importância do método OLS em machine learning e problemas de regressão linear.
Implementar a Função de Mínimos Quadrados
Nesta etapa, você implementará a função dos Mínimos Quadrados Ordinários (OLS) em Python. Siga as etapas abaixo para concluir esta etapa:
Abra o arquivo
least_squares.pyem seu editor de texto.Implemente a função
least_squares_functionde acordo com as especificações fornecidas:- A função deve receber dois parâmetros de entrada:
x(uma lista de valores de amostra x) ey(uma lista de valores de amostra y). - A função deve calcular a inclinação (
w1) e a interceptação (w0) da equação linear usando as fórmulas OLS fornecidas na descrição do desafio. - A função deve arredondar os valores calculados de
w0ew1para duas casas decimais antes de retorná-los. - A função deve retornar os valores
w0ew1nessa ordem.
- A função deve receber dois parâmetros de entrada:
Aqui está a implementação completa da least_squares_function:
def least_squares_function(x, y):
"""
Parameters:
x -- lista de valores de amostra x
y -- lista de valores de amostra y
Returns:
w0 -- parâmetro da equação linear, arredondado para duas casas decimais
w1 -- parâmetro da equação linear, arredondado para duas casas decimais
"""
n = len(x)
## Calcula as somas necessárias para a inclinação (w1) e a interceptação (w0)
sum_x = sum(x)
sum_y = sum(y)
sum_xy = sum(x_i * y_i for x_i, y_i in zip(x, y))
sum_x_squared = sum(x_i**2 for x_i in x)
## Calcula a inclinação (w1) e a interceptação (w0) usando as fórmulas OLS
w1 = (n * sum_xy - sum_x * sum_y) / (n * sum_x_squared - sum_x**2)
w0 = (sum_y - w1 * sum_x) / n
## Arredonda para duas casas decimais
w0 = round(w0, 2)
w1 = round(w1, 2)
return w0, w1
- Salve o arquivo
least_squares.py.
Testar a Função de Mínimos Quadrados
Nesta etapa, você testará a least_squares_function que implementou na etapa anterior.
- Você pode ver o seguinte código no final do arquivo para testar a
least_squares_function:
## Example usage
if __name__ == "__main__":
x_example = [1, 2, 3, 4]
y_example = [4, 5, 6, 7]
result = least_squares_function(x_example, y_example)
print("w0:", result[0])
print("w1:", result[1])
- Execute o script
least_squares.pyem seu terminal:
python3 least_squares.py
Você deverá ver a seguinte saída:
w0: 3.0
w1: 1.0
Esta saída confirma que a least_squares_function está funcionando conforme o esperado.
Parabéns! Você implementou com sucesso a função dos Mínimos Quadrados Ordinários em Python. Nas próximas etapas, você pode explorar como usar essa função em um problema de machine learning do mundo real.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



