강의자료 · 전기공학머신러닝실습

측정 데이터로 시작하는 Machine Learning · 학습

이번에 배울 내용

온도 측정 기록에서 경보를 만들고, 센서 보정식의 예측 오차를 비교합니다.

전체 흐름

측정값과 단위 → 규칙·보정식 → 예측과 기준값 비교 → 입력 품질 점검

표본·입력·기준값 읽기

한 시각의 측정이 표본 하나입니다. 센서가 읽은 온도는 입력이고, 신뢰할 수 있는 기준 센서의 온도는 보정 결과와 비교할 기준값입니다. 입력을 그대로 쓰는 방법도 비교할 기준 방법이 됩니다.

센서 입력 [°C] 기준 온도 [°C]
20 22.5
22 24.7

규칙과 예측 모델

온도 > 28°C이면 경보를 내는 규칙은 기준값을 사람이 정합니다. 보정식 y_hat=1.1x+0.5는 입력 x에서 기준 온도를 예측합니다.

여기서는 계수를 제공하며, 실험 3에서 이런 계수를 데이터로 찾는 과정을 다룹니다.

예측과 기준값의 차이에 절댓값을 취해 평균을 내면 오차 크기를 비교할 수 있습니다. 작은 오차가 나왔다면 같은 자료에만 맞는지 새 측정값에서도 확인해야 합니다.

Notebook에서 작업하기

코드 셀은 입력·계산·그래프를 실행하고, 설명 셀에는 센서·단위·판단 기준과 관찰한 차이를 적습니다. 제목이나 수식의 개수보다 다른 사람이 조건과 결과를 바로 이해할 수 있는지가 중요합니다.

입력 셀부터 순서대로 실행합니다. 조건을 바꾸면 관련 결과를 다시 실행하고, 마지막에는 새 세션에서도 같은 결과를 얻는지 확인합니다.

측정 기록에서 경보 만들기

5분마다 읽은 온도에서 28°C를 넘는 시각을 표시합니다. 출력 숫자와 그래프가 같은 조건을 보여주는지 확인합니다.

import numpy as np
import matplotlib.pyplot as plt
minutes=np.array([0,5,10,15,20,25])
temperature=np.array([24.,25.,29.,23.,30.,26.])
threshold=28.
alarm=temperature>threshold
print('alarm times [min]:',minutes[alarm])
print('alarm count:',alarm.sum())
plt.plot(minutes,temperature,'o-',label='measurement')
plt.axhline(threshold,color='gray',linestyle='--',label='threshold')
plt.scatter(minutes[alarm],temperature[alarm],color='red',label='alarm')
plt.xlabel('Time [min]');plt.ylabel('Temperature [deg C]');plt.legend();plt.grid()
alarm times [min]: [10 20]
alarm count: 2
실행 결과

참고 예제

추가 예제 보기

참고 자료