2018-04-02第二周 分析数据并预处理
2018-06-14 本文已影响0人
土豆土豆我是potato
本周的任务为分析数据并且清洗数据
按照我做项目的经验,来了项目,首先是分析项目的目的和需求,了解这个项目属于什么问题,要达到什么效果。然后提取数据,做基本的数据清洗。第三步是特征工程,这个属于脏活累活,需要耗费很大的精力,如果特征工程做的好,那么,后面选择什么算法其实差异不大,反之,不管选择什么算法,效果都不会有突破性的提高。第四步,是跑算法,通常情况下,我会把所有能跑的算法先跑一遍,看看效果,分析一下precesion/recall和f1-score,看看有没有什么异常(譬如有好几个算法precision特别好,但是recall特别低,这就要从数据中找原因,或者从算法中看是不是因为算法不适合这个数据),如果没有异常,那么就进行下一步,选择一两个跑的结果最好的算法进行调优。如下流程图
一、分析数据
由于本次爬取的信息为中文文本的信息,对于分类来说难度较大,因此首先需要分词操作,并将它转换为词向量,我们选用了结巴分词与word2vec进行处理。
二、数据清洗
由于从论坛中爬取信息,所以会有很多的表情、符号以及一些对于分类并没有积极影响的“无用”信息,所以我们选用停用词表以及硬编码方式相结合去除无用信息
三、分词
分词选用很好用的结巴分词包,代码如下
for key, valuein dataSet.items():
seg_list = jieba.cut(dataSet[key],cut_all=True)
token =' '.join(seg_list).split(' ')
dataSet[key] = token
四、向量化
我们使用word2vec进行向量化
结果如下: