写程序学ML:Logistic回归算法原理及实现(三)

本文介绍了如何使用Logistic回归处理数据中缺失值,包括使用0替换和丢弃缺失值标签的策略。同时,阐述了Logistic回归的随机梯度上升算法在机器学习中的应用,并探讨了处理缺失数据的不同方法。通过实例展示了Logistic回归在预测病马死亡率上的应用,详细描述了算法的实现流程和评估错误率的方法。
摘要由CSDN通过智能技术生成

2.2   利用Logistic算法预测病马死亡率

由于采集数据是诸多原因,采集的数据有可能不完整。但有时候数据相当昂贵,扔掉和重新获取都是不可取的,所以必须采用一些方法来解决这个问题。

处理数据中缺失值的做法

1>    使用可用特征的均值来填补缺失值;

2>    使用特殊值来填补缺失值;

3>    忽略有缺失值的样本;

4>    使用相似样本的均值添补缺失值;

5>    使用另外的机器学习算法预测缺失值;

对于采集到的数据进行预处理,可以使其顺利地使用分类算法。在预处理阶段做两件事:

第一,所有的缺失值必须用一个实数值来替换,因为我们使用的NumPy数据类型不允许包含缺失值。这里选择实数0来替换所有缺失值,恰好能适用于Logistic回归。这样做的直觉在于,我们需要的是一个在更新时不会影响系数的值。回归系数的更新公式如下:

weights =weights + alpha * error * dataMatrix[randIndex]

如果dataMatrix的某特征对应值为0,那么该特征的系数将不做更新,即:

weights =weights

另外,由于sigmoid(0) = 0.5,即它对结果的预测不具有任何倾向性,因此上述做法也不会对误差造成任何影响。基于上述原因,将缺失值用0代替既可以保留现有数据,也不需要对优化算法进行修改。此外,该数据集中的特征取值一般不为0,因此在某种意义上说它也满足“特征值”这个要求。

第二件事:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值