소개
이 프로젝트에서는 Python 에서 Ordinary Least Squares (OLS) 방법을 구현하는 방법을 배우게 됩니다. OLS 는 머신 러닝, 특히 선형 회귀 문제에서 사용되는 기본적인 수학적 최적화 기법입니다.
🎯 과제
이 프로젝트에서 다음을 배우게 됩니다:
- 샘플 데이터를 기반으로 선형 방정식의 기울기 (w1) 와 절편 (w0) 을 계산하기 위해 OLS 함수를 구현하는 방법.
- 샘플 데이터로 OLS 함수를 테스트하고 결과의 정확성을 확인하는 방법.
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- 선형 방정식의 기울기와 절편을 계산하기 위한 OLS 공식을 유도할 수 있습니다.
- 외부 라이브러리를 사용하지 않고 Python 에서 OLS 함수를 구현할 수 있습니다.
- 샘플 데이터로 OLS 함수를 테스트하고 검증할 수 있습니다.
- 머신 러닝 및 선형 회귀 문제에서 OLS 방법의 중요성을 이해할 수 있습니다.
최소 자승 함수 구현
이 단계에서는 Python 에서 Ordinary Least Squares (OLS) 함수를 구현합니다. 이 단계를 완료하려면 아래 단계를 따르세요:
텍스트 편집기에서
least_squares.py파일을 엽니다.제공된 사양에 따라
least_squares_function함수를 구현합니다:- 이 함수는 두 개의 입력 매개변수
x(샘플 x 값의 목록) 와y(샘플 y 값의 목록) 를 받아야 합니다. - 이 함수는 챌린지 설명에 제공된 OLS 공식을 사용하여 선형 방정식의 기울기 (
w1) 와 절편 (w0) 을 계산해야 합니다. - 이 함수는 계산된
w0및w1값을 반올림하여 소수점 두 자리까지 표시한 후 반환해야 합니다. - 이 함수는
w0및w1값을 해당 순서대로 반환해야 합니다.
- 이 함수는 두 개의 입력 매개변수
다음은 완성된 least_squares_function 구현입니다:
def least_squares_function(x, y):
"""
Parameters:
x -- list of values of sample x
y -- list of values of sample y
Returns:
w0 -- linear equation parameter, rounded to two decimal places
w1 -- linear equation parameter, rounded to two decimal places
"""
n = len(x)
## Calculate the sums needed for the slope (w1) and intercept (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)
## Calculate the slope (w1) and intercept (w0) using the OLS formulas
w1 = (n * sum_xy - sum_x * sum_y) / (n * sum_x_squared - sum_x**2)
w0 = (sum_y - w1 * sum_x) / n
## Round to two decimal places
w0 = round(w0, 2)
w1 = round(w1, 2)
return w0, w1
least_squares.py파일을 저장합니다.
최소 자승 함수 테스트
이 단계에서는 이전 단계에서 구현한 least_squares_function을 테스트합니다.
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])
- 터미널에서
least_squares.py스크립트를 실행합니다:
python3 least_squares.py
다음과 같은 출력을 볼 수 있습니다:
w0: 3.0
w1: 1.0
이 출력은 least_squares_function이 예상대로 작동하고 있음을 확인합니다.
축하합니다! Python 에서 Ordinary Least Squares 함수를 성공적으로 구현했습니다. 다음 단계에서는 이 함수를 실제 머신 러닝 문제에서 사용하는 방법을 살펴볼 수 있습니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



