下面是实践百度飞桨上面的pm2.5分类项目_logistic regression相关

本文介绍了使用Python实现逻辑回归的基本步骤,包括数据导入、规格化处理、sigmoid函数定义、线性梯度下降求解参数以及在训练集上的应用。提到的代码存在一些问题,如只包含训练数据且数据重复,实际应用时需注意数据完整性和准确性。
摘要由CSDN通过智能技术生成

part1:数据的引入,和前一个linear regression基本是一样

 

 

 

part2:数据解析——也就是数据的“规格化”

 首先,打算用dataMat[]和labelMat[]数据存储feature和label,并且文件变量fr

然后,是这个for line in fr.readlines()循环,就是逐行的读取字符串到line中,

 

 比如上面的那个data.txt中的数据,一行有3个数据用"\t"制表符进行分隔,结果就是这个3个数据作为curLine[]这个一维数组中的3个数据,

dataMat,存储的是[1.0,curline[0],curline[1]]作为元素的数组,总共15组

labelMat,存储的是curline[2]作为元素的数组,总共15组

part3:定义那个sigmoid function

part4:通过输入dataMat 和 labelMat作为 训练集,通过线性gradien descent计算出分割线的斜率

 (1)具体的过程应该就是 如何通过训练集中的数据 计算出对应的 logistic regression的分割线的问题,详细可以参考李宏毅老师的 logistic regression相关的代码

(2)里面的alpha是学习率,可以通过设置不同的学习率和循环次数观察结果

part5:绘制出 需要测试的点的数据 并将label用颜色标出, 最后画出由训练集得到的 分割线

 

 part6:调用上述定义的函数,并且得到最终的结果:

 

 其实这个代码和data.txt给的一点也不好,

(1)它只有训练集,最终的结果也只是在训练集上做的测试

(2)data.txt看着有15组数据,其实只有5组,都是重复的,所以最终的图只有5个点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值