| 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 데이터를 기준으로 예측하자.