李宏毅机器学习中文课程作业二:预测赢家还是输家

一、作业要求

给定训练集spam_train.csv,要求根据每个ID各种属性值来判断该ID对应角色是Winner还是Losser(收入是否大于50K),这是一个典型的二分类问题。
训练集介绍:

  1. CSV文件,大小为4000行X59列;
  2. 4000行数据对应着4000个角色,ID编号从1到4001;
  3. 59列数据中, 第一列为角色ID,最后一列为分类结果,即label(0、1两种),中间的57列为角色对应的57种属性值;

二、思路分析及代码实现

思路分析:

这是一个典型的二分类问题,结合课上所学内容,决定采用Logistic回归算法。
与线性回归用于预测不同,Logistic回归则常用于分类(通常是二分类问题)。Logistic回归实质上就是在普通的线性回归后面加上了一个sigmoid函数,把线性回归预测到的数值压缩成为一个概率,进而实现二分类(关于线性回归模型,可参考上一次作业)。
在损失函数方面,Logistic回归并没有使用传统的欧式距离来度量误差,而使用了交叉熵(用于衡量两个概率分布之间的相似程度)。

代码实现:

具体原理可参考:传送门

1. 数据预处理
读入文件,先将最后两列进行归一化操作。然后将文件分为训练集和验证集,并分布保存为python文件,方便调用。
在这里插入图片描述

2. 训练
定义激活函数sigmoid和损失函数compute_loss。
在这里插入图片描述
开始利用梯度下降法进行训练,并每隔三轮验证一下训练集的预测精度。
在这里插入图片描述
在这里插入图片描述
输出训练结果。
在这里插入图片描述
3. 预测
利用训练结果进行预测。
在这里插入图片描述
数据集和代码见:代码地址

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值