首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习100天-Day1404作业处理-Kaggle Titanic数据训练

第三章的作业

尝试在 MNIST 数据集上建立一个分类器,使它在测试集上的精度超过 97%。提示:KNeighborsClassifier非常适合这个任务。你只需要找出一个好的超参数值(试一下对权重和超参数n_neighbors进行网格搜索)。

写一个函数可以是 MNIST 中的图像任意方向移动(上下左右)一个像素。然后,对训练集上的每张图片,复制四个移动后的副本(每个方向一个副本),把它们加到训练集当中去。最后在扩展后的训练集上训练你最好的模型,并且在测试集上测量它的精度。你应该会观察到你的模型会有更好的表现。这种人工扩大训练集的方法叫做数据增强,或者训练集扩张。

拿 Titanic 数据集去捣鼓一番。开始这个项目有一个很棒的平台:Kaggle!

建立一个垃圾邮件分类器(这是一个更有挑战性的练习):

下载垃圾邮件和非垃圾邮件的样例数据。地址是Apache SpamAssassin 的公共数据集

解压这些数据集,并且熟悉它的数据格式。

将数据集分成训练集和测试集

写一个数据准备的流水线,将每一封邮件转换为特征向量。你的流水线应该将一封邮件转换为一个稀疏向量,对于所有可能的词,这个向量标志哪个词出现了,哪个词没有出现。举例子,如果所有邮件只包含了"Hello","How","are", "you"这四个词,那么一封邮件(内容是:"Hello you Hello Hello you")将会被转换为向量1, 0, 0, 1,或者[3, 0, 0, 2],如果你想数出每个单词出现的次数。

你也许想给你的流水线增加超参数,控制是否剥过邮件头、将邮件转换为小写、去除标点符号、将所有 URL 替换成"URL",将所有数字替换成"NUMBER",或者甚至提取词干(比如,截断词尾。有现成的 Python 库可以做到这点)。

然后 尝试几个不同的分类器,看看你可否建立一个很棒的垃圾邮件分类器,同时有着高召回率和高准确率。

在这里完成第三个

Titanic数据集,目标是基于乘客属性(年龄、性别、舱室……)预测乘客能不能活下来。

数据集需要再Kaggle上下载,我这里放在了Titanic_data文件夹下面

1. 引入库

2. 读取数据

3. 查看训练数据的基本信息。

从中可以看到丢失数据,891人,有年龄的714人,客舱204人,登记的889人。

可以看出,客舱数据缺失的较多,在这里就放弃使用了(网络上大多数教程都这么讲),年龄部分使用中间年龄来补齐。

4. 构建预处理

由于sklearn不再解决DataFrame,在这里要建立一个类用来选择数字或分类列

处理数据值,进行归一化处理

处理字符串分类,数字化处理

5. 训练模型,现在的数据是可以用模型来处理的了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190107A0KEZX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券