作业任务:
本作业,要求学生采用多种机器学习算法,包括逻辑回归、决策树、人工神经网络、朴素贝叶斯等方法构建疾病诊断模型。该任务为预测样本是否患有某种特定疾病,属二分类问题。
数据集:
• Age: 年龄
• Gender: 性别male/female
• Height: 身高(cm)
• Weight: 体重(kg)
• Low Blood Pressure: 血压低压值
• High Blood Pressure: 血压高压值
• Cholesterol: 胆固醇(不同级别)
• Glucose: 葡萄糖(不同级别)
• Smoke: 是否吸烟(1/0 )
• Alcohol: 是否经常饮酒(1/0 )
• Exercise: 是否经常锻炼(1/0 )
• Disease: 是否患病(1/0)
具体任务:
1)数据预处理(30%)
· 读入数据
· 对表格中离散特征值进行处理,须考虑有序和无序情况
- 可参考sklearn.preprocessing,对无序特征进行one-hot编码
· 对各特征的数值进行归一化处理 - 可参考sklearn.preprocessing中 Normalizer、 .StandardScaler、 .MinMaxScaler等方法
·数据探索分析 - 通过绘图展示,你认为与疾病最相关的两特征组合。
2)构建、调参、评价多种机器学习方法(50%)
· 以Disease Prediction Training数据集为基础
· 应用不少于3种机器学习方法,包括但不仅限于逻辑回归、决策树、人工神经网络、朴素贝叶斯等
· 采用交叉验证方法进行测试,并采用precision、recall、F1作为评价指标,可以f1值作为主评价指标
· 调参:要求对每种机器学习方法关键参数的不同设置进行测试,模型调参充分性、合理性是评分重要部分。
· 建议在模型评价与调参过程中,使用sklearn.model中GridSearchCV等方法,具体参见官方文档
· 通过图表,展示并对比,每一种方法的在不同参数配置的性能、以及所有测试机器学习方法在最优参数配置情况下的性能。
3)预测(20%)
·应用上述所有测试的机器学习方法(最优参数配置下),对Disease Prediction Testing.csv 进行预测,输出测试集中每一个人的是否患病的预测结果
· 结果应为表格形式,行为样本,列为不同方法的预测结果