1. 项目简介
Sleep
Cycle(SC;NorthCube,Gothenburg,Sweden)是一款可在基于android和iOS设备上使用的移动电话应用程序。SC是一个智能闹钟,它可以跟踪你的睡眠模式,并在浅睡眠中唤醒你。SC会跟踪整晚的睡眠情况,并使用30分钟的窗口,在这个窗口中,警报会在最轻的阶段(即浅睡眠)结束,达到所需的警报时间。SC通过两种运动检测模式中的一种来进行睡眠运动检测:(i)使用内置麦克风分析运动的麦克风,或(ii)使用手机内置加速计的加速计。
本项目利用 pandas + Matplotlib + seaborn + sklearn 等工具包,对睡眠数据进行探索式可视化分析,并构建
KNN、LR、决策树、随机森林等算法实现对睡眠质量的预测建模。
2. 功能组成
基于python个人睡眠质量分析建模的功能主要包括:
3. 数据读取和预处理
本项目采用 SC提供的数据,并通过iOS上的Northcube的Sleep Cycle应用程序收集。
Start-开始睡眠时间
End-结束睡眠时间
Sleep quality-睡眠质量
Time in bed-躺在床上的时间
Wake up-醒来状态
Sleep Notes-睡眠笔记
Heart rate-睡眠心率
Activity (steps)-活动(步骤)
缺失值分析,检查整个数据集中的空部分,红色部分缺少数据:
“Wake up”、“Sleep Notes”和“Heart
rate”功能中缺少数据。我们可以注意到“卧床时间”的特征是从“开始”和“结束”两个方面来计算的。正如我们所知,睡眠质量不仅取决于睡眠的持续时间“在床上的时间”,还取决于你睡眠的“开始”时刻。
df[‘Start time’] =