system: [SYSTEM]

user: 2. 数据集 本节致力于介绍我们工作中使用的数据集。本研究使用的数据集来自UCI机器学习库 [ 18 ]，该库记载了美国130家医院10年来收治的糖尿病患者的临床护理记录。 根据UCI机器学习库的描述，该数据集中的数据满足以下信息 [ 18 ]： 1) 住院病人的经历。 2) “糖尿病”的遭遇，即在此期间将任何类型的糖尿病输入到系统作为诊断。 3) 住院时间至少1天，最多14天。 4) 在住院期间进行了实验测试。 5) 在住院期间进行了药物治疗。 根据上述信息，共有10，766个数据、54个属性列和一个满足上述条件的标签变量。标签变量为：出院后30天内未再次入院的患者为0，30天内再次入院的患者为1。患者入院记录标签用于判断患者是否有可能在短时间内再次入院，从而判断本次治疗的效果。每个样本包含54个属性，包括患者编号、种族、性别、年龄、入院类型、住院时间、检查次数、糖化血红蛋白测试结果、胰岛素释放测试结果、药物数量、糖尿病药物、门诊诊断记录、急诊次数等属性。表1显示了一些关键属性和说明。 Table 1 Some key attributes in datase 变量名称 说明 PATIENT_NBR 住院的唯一标识符 RACE 值：白种人，亚洲人，非裔美国人，西班牙裔、其他 GENDER 值：男性、女性、未知/无效 AGE 按10年间隔分组：[0， 10)， [10， 20)， …， [90， 100) Admission type 对应于9个不同值的整数标识符，例如，紧急，突发和不可用 Time in hospital 从入院到出院的整数天数 MEDICAL_SPECIALTY 主治医师专科的整数标识符，对应84个不同的值 DIAG_1 初步诊断；848个不同值 DIAG_2 二级诊断；923个不同值 DIAG_3 附加辅助诊断；954个不同值 MAX_GLU_SERUM 指示结果范围或者是否测试。值：“>200”，“>300”，“正常”，若没有测量，则为无 Number of lab 住院期间进行的实验测试次数 A1c test result 指示结果范围或未进行测试 MIGLITOL 稳定/否 READMITTED 住院患者重新入院的天数。若患者在30天内重新入院，则值为“<30”，若患者在30天后再次入院，则值为“>300”，“无”表示没有再入院的记录。 INSULIN 上升/稳定/下降/否 表1. 数据集中的一些关键属性 这项研究对数据集的特征进行了初步分析。在参考医院医生意见的前提下，本研究首先对数据集中的特征进行了分类。在该数据集中，有关患者的年龄，性别和体重的信息已被充分证明对糖尿病有影响。观察数据集发现，住院的患者是不同种族的，考虑到种族可能是糖尿病的潜在病因。因此，将其添加到数据维度。血糖水平可以作为判断糖尿病患者病情变化的重要标准；糖化血红蛋白的量取决于血糖浓度以及血糖和血红蛋白接触的时间，因此可以用作糖尿病监测的重要指标；胰岛素释放实验可以反映出患者胰岛中产生胰岛素的β细胞的功能是否正常。 这些生化指标可为医生诊断本病提供重要参考，也对研究目的具有重要价值。在属性的选择上，本研究还选取了医生的诊断记录和用药记录作为关键属性。本研究将这些属性分为四个维度：一是患者的基本生理信息，包括体重，种族，性别等；二是患者的基本入院登记信息，包括患者的住院编号，入院时间等；三是患者病情诊断记录；四是病人的用药信息记录。数据模型如表1所示。 根据上述数据集属性的统计结果，该数据集包含了糖尿病诊断和治疗的许多属性。根据糖尿病主治医师的意见，数据集基本上包含了糖尿病诊断和治疗中常用的检测指标和药物种类等信息。用于基于数据集构建预测模型的训练数据非常通用。 2.1. 数据预处理 由于本实验使用的数据集是医院记录的原始数据集，因此该数据集存在数据格式不一致，数据不完整，数据记录错误等问题。由于数据的质量决定了模型分析性能的上限，因此本节重点介绍数据预处理。 数据清理是数据预处理的重要任务。数据清理的第一步是处理原始数据集中的缺失值。病历中数据丢失的主要原因是医务人员记录丢失或未获得患者病历。在这项研究中，数据集计算如下。实验结果如图2所示。红色部分代表缺失值的比率。可以看出，该数据集具有良好的完整性，只不过三个属性列的缺失值百分比很高。这些特征包括体重(丢失96.9%的值)，付款人代码(39.7%)和医疗专科(44%)。研究人员综合了糖尿病医师的意见后，直接删除了付款人码，因为付款人代码的属性与研究结果无关。由于“体重”属性过于稀疏，无法补充，因此本研究将其删除。“医学专科”属性需要进一步分析。 对于缺少值较少的其他属性列，将使用均值方法来完成研究。对于错误数据，本研究使用手动删除和均值替换来删除错误数据。 图2. 处理前的样本分布图 2.2. 数据平衡 通过对数据的统计分析，两个标签的数据存在严重的数据分布平衡问题。30天内不复诊与30天内复诊的比例为9:1。 这符合现实中医学数据的分布特征，并且现实生活中的数据大多都是不平衡的。当每个标签类型数据分布不均衡时，以总分类准确率为学习目标的传统分类算法会更多地关注多数类别，从而降低了模型对少数类别样本的分类性能，特别是在疾病诊断和治疗领域，数据不均衡使得实验结果的价值大打折扣，有的甚至变得毫无意义 [ 19 ]。为了解决这一问题，本研究采用了一种称为多数加权少数过采样技术(Majority Weighted Minority Oversampling Technique， MWMOTE)的新方法，用以有效处理不平衡的学习问题。MWMOTE首先识别出难以学习的信息丰富的少数类样本，并根据它们与最近的多数类样本的欧氏距离为它们分配权重。 然后利用聚类方法从加权的信息丰富的少数类样本中生成合成样本。这样做的方式是使所有生成的样本都位于少数类群集中 [ 20 ]。经过实验处理，大多数样品和少量样品的数量基本平衡，如图3所示。 图3. 处理后的样本分布图 2.3. 数据特征筛选 本研究将采用深度学习算法进行研究，虽然深度学习算法可以对特征进行深度过滤。但是，鉴于本研究直接使用医院患者的病历资料，有些信息与研究目的无关，并且有些毫无价值的信息甚至可能影响实验目的的实现，因此有必要对特征进行筛选和选择。这项研究主要使用Xgboost算法对特征的重要性进行排名 [ 21 ]。使用Xgboost算法计算各特征与预测结果的相关性，即数据特征对预测结果的影响权重。 Xgboost算法具有精度高、效率高、并发性强等特点，并支持自定义丢失功能。可以用于分类和回归。它可以将特征的重要性输出为随机森林。由于其运算速度快，因此适合作为高维特征选择的重要方法。实验数据通过10倍交叉验证法进行划分，采用Xgboost算法进行训练，并根据每个特征对实验分类结果的贡献程度进行排序。实验结果如图4所示。 图4. 特征权重排序 实验结果表明，权重超过500的特征有20个。 同时，权重为0的属性共有12个，权重为1的属性基本上独立，如表2所示。 同时，在衡量这些属性的重要性时，本研究还咨询了医院的糖尿病主治医生。这些属性对糖尿病患者的发展影响不大，可以删除。另外考虑到糖尿病专家的意见，将特征值的权值阈值设置为700，在此步骤的特征之后，将筛选剩余的36个重要特征。 Table 2 Characteristics of smaller weight value 属性名称 权重 属性名称 权重 LYBURIDE-METFORMIN 3 GLIMEPIRIDE-PIOGLITAZONE 0 METFORMIN-ROSIGLITAZONE 0 GLIMEPIRIDE-PIOGLITAZONE 0 MIGLITOL 0 CHLORPROPAMIDE 0 EXMAID 0 METFORMIN-PIOGLITAZONE 0 ACETOHEXAMIDE 0 TOLAZAMIDE 0 TROGLITAZONE 0 NATEGLINIDE 0 表2. 较小重量值的特征 此时，其余特征主要如表3所示： Table 3 Xgboost results of feature filterin 特征类型 特征筛选结果 患者信息 RACE， GENDER 检查报告 A1 CRESULT， INSULIN， MAX_GLU_SERUM. etc 处方 MEDICAL_SPECIALTY， ADMISSION_SOURCE， EMERGENCY. ect 诊断 DIAG_1， DIAG_2， DIAG_3 表3. Xgboost特征筛选结果