일일 단위 유저 시계열 입력 데이터 (주요 variable :: 체중, 하루 총 소모 칼로리)

date user_id sex age weight height BMI Fat Muscle consumed_cal intake_cal
2022-01-31 12 1 23 77 175
2022-02-22 22 2 33 56 160
2023-07-14 22 2 34 54 159

DEEP LEARNING → LSTM, TRANSFORMER, GRU

RNN

LSTM → RNN 보완 , 장기 기억에 좀 유의미해

GRU → LSTM 약간 보완 느낌인데

더미 데이터 생성

import numpy as np
import pandas as pd

# 개인 Daily Dummy를 받는다고 가정...
# np.random.normal -> loc, scale, size => centre, standard deviation, size = (int, tuple, etc...)
data = {
    'date' : pd.date_range(start='2023-01-01', periods=545, freq='D'),
    'user_id': 1,
    'sex' : 1,
    'age' : 25,
    'weight' : np.random.normal(75, 1.41414, 545),
    'height' : 176,
    'BMI' : 0, # 초기 설정값
    'fat' : 18,
    'muscle' : 19,
    'consumed_cal' : np.random.normal(150, 9, 545),
    'intake_cal' : 2700
}
df = pd.DataFrame(data)
df['BMI'] = round(df['weight'] / ((df['height']/100) ** 2), 2)

print(df)


[종합] 몸무게 예측

7일의 input 데이터를 기준으로 예측하자.

[Prediction Flow]