机器读中文:根据名字判断性别
机器读中文:根据名字判断性别
比赛概述
本比赛为个人练习赛,主要针对于数据新人、尤其文本处理方面的新手进行自我练习、自我提高,与大家切磋。
练习赛时限:2017-07-15 至 2019-07-15
任务类型:自然语言处理、二元分类
背景介绍:
我们每天会接触不同的人,有热情的面孔,也有冰冷的名片。作为一个说着中国话的中国人,我们有着常年累月的积累和对文字的理解,通过名字判断(猜测)性别,并非难事。可是,对于一个冰冷的机器,它能够根据名字判断性别吗?这个练习赛就是根据中文名字(姓已经省略),判断性别
数据来源:
数据来自网络爬虫。出于隐私保护等目的,姓已经被省略。训练数据中含有很少量的杂质(也就是错误的数据点)。标题图片来源:fanfou。
数据下载
数据文件(三个):
train.txt 训练集,文件大小 1.7mb
test.txt 预测集, 文件大小 0.4mb
sample_submit.csv 提交示例 文件大小 0.2mb
下载该数据即同意不以商业为目的传播、发布该数据集。
训练集中共有120000条样本,预测集中有32040条样本。
变量说明:
变量名 | 解释 |
---|---|
id | 编号 |
name | 名字(姓已经被隐去) |
gender | 表示该姓名对应的性别。0表示女生,1表示男生。在test.txt中,这是需要被预测的标签。请注意:名字与性别均来自于网络爬虫,数据可能有杂质或者重复。 |
评价方法
您提交的结果为每个姓名的预测性别,0代表女性,1代表男性。评价方法为准确率(accuracy)。
准确率的取值范围是0到1。越接近1,说明模型预测的结果越接近真实结果。
$$\text{准确度}=\frac{预测正确数}{总预测数}$$
比如说,真实情况是(小芳:0), (钢:1),(俏梅:0),(德华:1)。
你预测结果是(小芳:0), (钢:0),(俏梅:0),(德华:1),那么准确度是3/4=0.75。