形状识别:是方还是圆

形状识别:是方还是圆


比赛概述


本比赛为个人练习赛,主要针对于数据新人、尤其图像处理、识别方面的新手进行自我练习、自我提高,与大家切磋。

练习赛时限:2017-12-21 至 2019-12-21

任务类型:二元分类、图像识别

背景介绍:
我们给出四千张图像作为训练集。每个图像中只有一个图形,要么是圆形,要么是正方形。你的任务根据是根据这四千张图片训练出一个二元分类模型,并用它(不是用肉眼)在测试集上判断每个图像中的形状。


   


数据下载


数据文件(三个):
train.csv 训练集,文件大小 19.7mb
test.csv 预测集, 文件大小 17.5mb
sample_submit.csv 提交示例 文件大小 25kb

下载该数据即同意不以商业为目的传播、发布该数据集。

训练集中共有4000个灰度图像,预测集中有3550个灰度图像。每个图像中都会含有大量的噪点。
图像的分辨率为40x40,也就是40x40的矩阵,每个矩阵以行向量的形式被存放在train.csv和test.csv中。train.csv和test.csv中每行数据代表一个图像,也就是说每行都有1600个特征。

下面左图为train.csv第一行样本所对应的图像(方形),右图为train.csv第二行样本所对应的图像(圆形)。
  

变量说明:
变量名 解释
id 编号
p_i_j 表示图像中第i行第j列上的像素点的灰度值,取值范围在0到255之间,i和j的取值都是0到39。
y 表示该图像中的形状。0表示圆形,1表示方形。这是需要被预测的标签。


选手的任务是提交预测集中每个图像的标签(而非概率),标签以0或1表示。格式应与sample_submit.csv一致。

train.csv, test.csv均为逗号分隔形式的文件。在python中可以通过如下形式读取。
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')


评价方法


您提交的结果为每行的预测标签,也就是0或者1。评价方法为F1 score。

F1 score的取值范围是0到1。越接近1,说明模型预测的结果越佳。$\text{F}_1\text{-score}$的计算公式为: $$\text{F}_1\text{-score}=\frac{2\times \text{precision}\times\text{recall}}{\text{precision}+\text{recall}}$$ 其中$\text{precision}$为精度,$\text{recall}$为召回,它们可以根据混淆矩阵计算得到。


提交结果


提交前请确保预测结果的格式与sample_submit.csv中的格式一致,以及提交文件后缀名为csv。文件大小不超过5mb。

您提交的结果为每行样本(每个样本)的预测标签,0表示圆形,1表示方形。

   文件名不可以包含中文字符,长度在20字节以内。

排行榜每两小时更新一次。每次更新之前,参赛选手可以多次上传预测结果,但是系统只保留排行榜更新之前最后一次上传结果。

   

每次比赛为练习赛,所以评测结果是基于全部3550条预测样本。