li首先很高兴可以报名参加Datawhale第六期达观你nlp数据分析学习。
第一次接触到和nlp有关的数据分析任务,还是很激动的 :)
鉴于清明节假期ing,学习时间有所减少,简单得用CSDN来记录本次学习任务,并完成打卡吧~
【任务1 - 数据初识】时长:1天
首先我从百度云盘上下载了本次学习营所需要用到的数据, 压缩包格式为.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))
从图片上我们可以看出, 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中提取出有效的信息,还需要我再不断地探索和研究。希望可以和群里的小伙伴多多交流,共同进步啦~