직선으로 예측하기
Coddy Machine Learning 여정의 머신러닝을 위한 통계 섹션에 포함된 레슨. 64개 중 38번째.
적합선은 작은 예측 기계입니다. 새로운 x를 넣으면 y를 돌려줍니다. 강아지의 몸무게를 8주 차부터 20주 차까지 측정했습니다.
weeks = np.array([8, 10, 12, 14, 16, 18, 20])
kg = np.array([3.1, 4.0, 5.2, 6.1, 7.0, 8.2, 9.1])
slope, intercept = np.polyfit(weeks, kg, 1)
new_weeks = np.array([15, 52])
print(np.round(slope * new_weeks + intercept, 1))이렇게 하면 [ 6.6 25.2]가 출력됩니다. 15주는 데이터 범위 안에 있습니다. 52주는 범위 밖이며, 개가 성장을 멈춘 뒤에도 선은 계속 상승합니다:
데이터 범위 밖을 예측하는 것은 외삽이며 위험합니다. 모델은 학습한 것과 비슷한 입력에서만 신뢰할 수 있습니다. 먼저 확인하세요:
week = 52
print(week >= weeks.min() and week <= weeks.max())이것은 False를 출력합니다.
챌린지
중급양초가 타는 동안 0시간부터 6시간까지 매시간 측정했습니다: cm 단위의 hours와 height입니다. 프로그램은 new_hours를 읽습니다.
hours로부터height를 예측하는 직선을 적합시키세요.new_hours에 대한 예측값을 소수점 아래 2자리까지 반올림하여 출력하세요.new_hours가 데이터의 시간 범위 안에 있는지 출력하세요. 양 끝값을 모두 포함합니다.
입력이 4.5일 때:
Predicted height: 13.07 cm
Inside the data: yes직접 해보기
import numpy as np
hours = np.array([0, 1, 2, 3, 4, 5, 6])
height = np.array([20.0, 18.4, 17.1, 15.3, 13.9, 12.2, 10.8])
new_hours = float(input())
# 아래에 코드를 작성하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
머신러닝을 위한 통계의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러