达观数据比赛 第一天任务

li首先很高兴可以报名参加Datawhale第六期达观你nlp数据分析学习。

第一次接触到和nlp有关的数据分析任务,还是很激动的 :)

鉴于清明节假期ing,学习时间有所减少,简单得用CSDN来记录本次学习任务,并完成打卡吧~

【任务1 - 数据初识】时长:1天

  1. 下载数据,读取数据,观察数据
  2. 将训练集拆分为训练集和验证集
  3. 分享自己对数据以及赛题的理解和发现

 

首先我从百度云盘上下载了本次学习营所需要用到的数据, 压缩包格式为.7z. 这里给使用mac的小伙伴推荐安利一款好用的解压缩软件 Unarchiver 。 在解压缩数据之后,看到数据大小为1.28G. 心里还是拔凉拔凉得!不知道自己16G内存够不够用呢!第一天任务先读取前5000行数据来看一看吧~

首先导入需要用的库

import pandas as pd
from sklearn.model_selection import train_test_split

利用pandas来读取数据

# read data
df = pd.read_csv('data/train_set.csv', nrows=5000)
print(df)

我们可以发现 数据包括四列:id, article, word_seg and class。 id是每一行数据的一个编号;article 是文章的概要信息; word_
seg 是我们主要会使用到的属性 文章中字词的信息 最后是 class 也就是我们关心的target属性啦

接下来我们来具体看看class属性有多少属性值

# observe data
print(df['class'].value_counts(normalize=True, ascending=False))

达观数据比赛 第一天任务_第1张图片

从图片上我们可以看出, class一共有19类,其中标号为13的文章数量是最多的,而标号为5的文章数量最少。

下面我们再将抽取的5000行数据,划分为训练集和验证集,为之后测试所用。

predictor = ['article', 'word_seg']
# split training set and validation set
x_train, x_validation, y_train, y_validation = train_test_split(df[predictor], df['class'], test_size=0.2)

我们这里选取20%数据作为我们的验证集,另外80%用于之后模型的训练。

至此,完成了第一天的初探数据的任务。

面对这次任务,目前感觉压力比较大的是如何处理和运行这么大的数据量,对此产生一些恐惧。另外就是如何从word_seg中提取出有效的信息,还需要我再不断地探索和研究。希望可以和群里的小伙伴多多交流,共同进步啦~

 

你可能感兴趣的:(Python)