Kaggle初体验:Digit Recognizer

这学期选修了“机器学习”这门课,课程作业是选择并完成Kaggle数据竞赛平台上的一个比赛项目,作为小白的我选择了getting start中的Digit Recognizer手写数字识别作为我的入门项目,下面是我对我的课程作业的记录。

环境配置

python版本:3.7
软件框架:Tensorflow
编辑器:Jupyter Notebook
数据分析:numpy,pandas
可视化工具:matplotlib,tensorboard

问题描述

MNIST是计算机视觉的“hello world”数据集,一个包含手写数字图像的数据集。**这次比赛的目标是用一张手写数字的图像,并确定这个数字是什么,对于每一个测试集,你应该预测正确的标签。**我们根据提供的有标签信息的训练图像集训练出一个机器学习模型,对测试图像集进行标签分类的正确预测。

数据集介绍

在“Digit Recognizer”竞赛提供的数据文件中,可以下载到两个数据集文件,分别为42000个训练图像的数据集(train.csv)和28000个测试图像的数据集(test.csv)。
在这里插入图片描述
训练数据集中有785列,第一列称为“label”,即图像对应的数字,其余784列为图像的像素值,784列数值组成一个28×28单通道的灰度图。测试集则不含标签信息。
在这里插入图片描述

数据预处理

数据的处理分为以下两部分:
灰度信息:把[0,255]像素范围归一化到[0,1]区间,这样有利后面模型的训练。
标签信息:将标签的数字形式转化为one-hot形式,在多分类问题中常常需要把label转化为one-hot的编码形式。

# 标签转one-hot形式
one_hot_label = pd.get_dummies(data_train['label'])
data_train = data_train.join(one_hot_label)
# 获得图像和标签
predictors=data_train.columns.values.tolist()[1:785]
x_vals=data_train[predictors]
label_list=data_train.columns.values.tolist()[785:]
y_vals=data_train[label_list]
x_test=data_test[predictors]
# 归一化数据  reshape图像
x_train=x_vals.values
x_train=np.float32(x_train/255)
x_train=x_train.reshape(-1,28,28,1)
x_test=x_t
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值