在掌握 Logistic 回归的基本原理之后,下面我们通过实战来感受一下这个模型。由于模型的求解过程(如梯度下降法、牛顿法)和正则化流程都被封装在机器学习框架(如 sklearn)之中,所以我们无须为这些底层优化算法费心,这就是利用框架的便利所在。
前面关于 Logistic 回归的理论推导,主要是基于二分类的。下面我们就使用 sklearn 进行二分类的实战。实战使用的数据集是皮马印第安人糖尿病数据集(Pima Indians Diabetes Data Set),
该数据集中包括 442 个患者的生理数据及一年以后的病情发展情况数据。数据集中的特征包括: Pregnancies(怀孕次数)、Glucose(葡萄糖,单位mmol/L)、BloodPressure(血压,单位 mm Hg)、SkinThickness(皮层厚度,单位 mm)、Insulin(胰岛素,餐后2小时血清胰岛素,单位 mu U / ml)、BMI(体重指数,计算公式为(体重/身高)2)、Diabetes Pedigree Function(糖尿病谱系功能)、Age(年龄)。
我们的要预测的目标是,一年后该患者还有没有糖尿病,有(标识为 1)或者没有(标识为 0)显然是一个分类问题。由于用于训练的数据集略有不同,所以我们并不能直接使用 sklearn 提供的内置数据集。比较便捷的方法是,在 Kaggle(一个数据竞赛网站)上下载预处理好的数据集。为了演示方便,我们还是用 Jupyter 来分开解