1.定义
- 数据预处理:在数据分析之前,对数据进行初步处理
- 缺失值填写
- 噪声处理
- 不一致数据修正
- 中文分词等
2. 文本数据预处理相关操作
2.1. 中文分词
- 安装相关库
pip install jiaba
2.1.1 相关使用
- 全模式
- 一段文本种所有可能出现地词语都扫描出来,一段文本从不同地角度切分成不同地词语,分词后地信息组合会有冗余,不在是原来的文本。
- 优点:速度快
- 缺点:不能解决歧义问题,分词结果不正确
text = "我失业5月份了,我想找一个python数据分析师的工作。" data = jieba.cut(text,cut_all=True) print(type(data)) print("[全模式]: ", "/".join(data))
- 精确模式
- 一段文本精确地切分成若干个中文单词,若干个中文单词经过组合,精确还原原先地文本,不存在冗余单词。
- 优点:能使句子精准分隔开,不会有冗余问题
text = "我失业5月份了,我想找一个python数据分析师的工作。" data = jieba.cut(text) print("[精确模式 ]: ", "/".join(data))
- 搜索引擎模式
- 精确模式基础上,对发现长的词语,再次切分,进而合适搜索殷勤对短词语的索引和搜索,会有冗余。
text = "我失业5月份了,我想找一个python数据分析师的工作。" data = jieba.cut_for_search(text) print(u"[搜索引擎模式]: ", "/".join(data))
2.2 文本数据清洗
2.2.1 脏数据分类
- 残缺数据
- 信息存在缺失的数据,需要查找数据补齐存入文件或数据库
- 解决:对于空值或缺失值,采用估算方法填充,例如:均值,中位数,众数,最大值,最小值等。
- 重复数据
- 重复数据不能轻易删除,要与客户及业务意义辨别,先校验和确认数据数否有误
- 解决:人为识别,或者采用相似度的方法等
- 错误数据
- 不正确的数据格式,多一个字符等情况,需与相关部门确认数据准确性
- 解决:采用统计学的方法,偏差分析,回归方程,正态分布等
- 停用词
- 没有意义的单个字或词,如“我们”,“的”,“a”
- 解决:直接过滤
stopwords =['的', '或', '等', '是', '有', '之', '与'] text = "我失业5月份了,我想找一个python数据分析师的工作。" seglist = jieba.cut(text) final = [] #存储去除停用词内容 for seg in seglist: if seg not in stopwords: final.append(seg)