人工智能大赛-高糖次数预测

发布时间 2023-07-05 14:25:37作者: spx88

该问题为已知bvp、hr、ibi等数据,预测患者高糖次数,可视为回归问题或分类问题,回归问题即预测血糖值,然后统计血糖大于140的次数

分类问题即预测是否高糖(二分类),本次首先做回归问题,过程记录如下。

 

1.bvp特征工程

bvp数据频率为64HZ,即每秒64个数据

 

1.1 缺失值查看

首先查看缺失情况,循环遍历16个患者的bvp数据和血糖数据,查看bvp数据分布时间和血糖数据分布时间
import pandas as pd
import os

data_dir = '/kaggle/input/diabetes-data/data/'
bvp_file_template = 'BVP_{:03d}.csv'
dex_file_template = 'Dexcom_{:03d}.csv'

result_dict = {}
for i in range(2, 17):
bvp_file_name = bvp_file_template.format(i)
bvp_filepath = os.path.join(data_dir, '{:03}'.format(i), bvp_file_name)
bvp_dates = pd.read_csv(bvp_filepath)['datetime'].agg(['min', 'max'])
dex_file_name = dex_file_template.format(i)
dex_filepath = os.path.join(data_dir, '{:03}'.format(i), dex_file_name)
dex_dates = pd.read_csv(dex_filepath).dropna(axis=0, subset=['Timestamp (YYYY-MM-DDThh:mm:ss)'])['Timestamp (YYYY-MM-DDThh:mm:ss)'].agg(['min', 'max'])
result_dict[i] = {'BVP_start': bvp_dates['min'], 'BVP_end': bvp_dates['max'], 'Dexcom_start': dex_dates['min'], 'Dexcom_end': dex_dates['max']}

result_df = pd.DataFrame.from_dict(result_dict, orient='index')

 

1.2 统计特征提取