[su_note note_color=”#d3d3d3″]Note: This is the second post about using Amazon Machine Learning to predict workout intensity. Check out Part 1 (Overview) for background. A third post will cover the Lambda and Alexa code used to automate the model. A working model is available via web and Alexa. Code can be found/downloaded from my Hackster site.[/su_note]
When creating my prediction model, I first had to define workout effectiveness. Was it measured by the total number of minutes that I worked out, or my average heart rate? Should I consider my peak heart rate, or number of calories burned.
After doing some research, I decided that workout intensity would be best captured my the number of “active minutes” for each workout. From the Fitbit website:
All Fitbit trackers calculate active minutes using metabolic equivalents (METs). METs help measure the energy expenditure of various activities. Because they do so in a comparable way among persons of different weights, METs are widely used as indicators for exercise intensity. For example, a MET of 1 indicates a body at rest. Fitbit trackers estimate your MET value in any given minute by calculating the intensity of your activity.
From there, I needed to determine what inputs impacted workout intensity. After more reading, I landed on the following as inputs to a successful workout.
- Sleep (or lack of sleep)
- Previous Day’s activities
- Time of Day
- Stress
- Food Intake
My Fitbit tracks sleep and the amount of total activity of a given day (measured with the count of total active calories burned in a day). I can also get the start time of each workout and the resultant active minutes in that workout.
Stress, being subjective, is harder to measure. I originally used the number of meetings in my outlook calendar to determine my level of stress, but found that metric to be inaccurate (at least, without additional research/tuning).