더북(TheBook)

코드를 실행하면 다음 결과가 나옵니다.

 

In [25]:

!python scripts/perf_02.py mem lr
!python scripts/perf_02.py time lr
lr_go: ~1.5586 MiB
lr_go: ~0.0546 sec

 

In [26]:

!python scripts/perf_02.py mem knn
!python scripts/perf_02.py time knn
knn_go: ~0.3242 MiB
knn_go: ~0.0824 sec

 

다음은 결과를 기록한 간단한 표입니다. 실행할 때마다 값이 조금씩 달라질 수 있습니다.

모델

RMSE

소요 시간(초)

메모리(MiB)

k-NN-R

55

0.08

0.32

LR

45

0.05

1.55

회귀 모델이 꽤 많은 메모리를 소모한다는 점이 놀랍네요. k-NN-R 모델이 모든 데이터를 메모리에 들고 있어야 한다는 점을 고려한다면 더더욱 그렇습니다. 이는 메모리를 측정하는 방법이 가진 이슈 때문입니다. (1) 우리는 학습과 예측을 하나로 묶어 메모리를 측정하고 (2) 여기에서 소요되는 최대 메모리 사용량을 기록합니다. 그래서 회귀 모델의 메모리 사용량이 아주 짧은 순간 치솟는다 하더라도, 그 최댓값이 메모리 사용량으로 기록됩니다. 계산된 지름길 방식으로 푸는 선형 회귀 모델은 계산을 수행하는 데 있어 아주 똑똑한 방법은 아닙니다. 방정식을 푸는 프로세스에는 메모리를 아주 많이 잡아먹는 결정적인 부분이 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.