新書推薦:
《
传统文化有意思:古代发明了不起
》
售價:NT$
199.0
《
亚述:世界历史上第一个帝国的兴衰
》
售價:NT$
490.0
《
人工智能与大数据:采煤机智能制造
》
售價:NT$
440.0
《
新民说·逝去的盛景:宋朝商业文明的兴盛与落幕(上下册)
》
售價:NT$
790.0
《
我从何来:自我的心理学探问
》
售價:NT$
545.0
《
失败:1891—1900 清王朝的变革、战争与排外
》
售價:NT$
390.0
《
送你一匹马(“我不求深刻,只求简单。”看三毛如何拒绝内耗,为自己而活)
》
售價:NT$
295.0
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:NT$
475.0
|
編輯推薦: |
本书结合作者的项目经验,从实际工程需求出发,循序渐进地介绍了大数据预处理相关技术、流行工具与应用案例,全书分为三部分,核心内容概要如下:
*部分 数据预处理的基础知识。包括数据预处理的基本概念、工作流程、应用场景、开发环境、入门演练和Python科学计算工具包Numpy、SciPy、Pandas的实际应用等。
第二部分 数据预处理的实战进阶。内容包括:
数据采集与存储,主要涉及数据结构类型和采集方式,着重介绍了爬虫技术以及不同格式的文本信息抽取和文件读取。
高效读取文件、正则清洗文本信息、网页数据清洗和文本批量清洗。
中文分词精讲、封装分词工具包、NLTK词频处理、命名实体抽取和批量分词处理。
特征向量化处理,涉及数据解析、缺失值处理、归一化处理、特征词文本向量化、词频-逆词频、词集模型、词袋模型和批量文本特征向量化。
基于Gensim的文本特征向量化,涉及构建语料词典、词频统计、词频-逆词频计算、主题模型和特征降维等。
主成分分析PCA降维技术的原理和实际案例。
Matplotlib数据可视化分析案例。
第三部分 数据预处理的实际应用。主要介绍竞赛神器XGBoos
|
內容簡介: |
本书基础理论和工程应用相结合,循序渐进地介绍了数据预处理的基本概念、基础知识、工具应用和相关案例,包括网络爬虫、数据抽取、数据清洗、数据集成、数据变换、数据向量化、数据规约等知识,书中针对每个知识点,都给出了丰富的教学实例和实现代码,*后,通过一个新闻文本分类的实际项目讲解了数据预处理技术在实际中的应用。 本书的特点是几乎涵盖了数据预处理的各种常用技术及主流工具应用,示例代码很丰富,适合于大数据从业者、AI技术开发人员以及高校大数据专业的学生使用。
|
關於作者: |
白宁超,大数据工程师,现任职于四川省计算机研究院,研究方向包括数据分析、自然语言处理和深度学习。主持和参与国家自然基金项目和四川省科技支撑计划项目多项,出版专著1部。
唐聃,教授,硕士生导师,成都信息工程大学软件工程学院院长,四川省学术和技术带头人后备人选。研究方向包括编码理论与人工智能,《自然语言处理理论与实战》一书作者。
文俊,硕士,大数据算法工程师,现任职于成都广播电视台橙视传媒大数据中心。曾以技术总监身份主持研发多个商业项目,负责公司核心算法模型构建。主要研究方向包括数据挖掘、自然语言处理、深度学习及云计算。
|
目錄:
|
目录
第1章 概述 1
1.1 Python数据预处理 1
1.1.1 什么是数据预处理 1
1.1.2 为什么要做数据预处理 2
1.1.3 数据预处理的工作流程 2
1.1.4 数据预处理的应用场景 3
1.2 开发工具与环境 3
1.2.1 Anaconda介绍与安装 3
1.2.2 Sublime Text 7
1.3 实战案例:第一个中文分词程序 12
1.3.1 中文分词 12
1.3.2 实例介绍 14
1.3.3 结巴实现中文分词 14
1.4 本章小结 15
第2章 Python科学计算工具 16
2.1 NumPy 16
2.1.1 NumPy的安装和特点 16
2.1.2 NumPy数组 18
2.1.3 Numpy的数学函数 20
2.1.4 NumPy线性代数运算 22
2.1.5 NumPy IO操作 22
2.2 SciPy 23
2.2.1 SciPy的安装和特点 23
2.2.2 SciPy Linalg 25
2.2.3 SciPy文件操作 27
2.2.4 SciPy 插值 28
2.2.5 SciPy Ndimage 30
2.2.6 SciPy优化算法 33
2.3 Pandas 35
2.3.1 Pandas的安装和特点 36
2.3.2 Pandas的数据结构 36
2.3.3 Pandas的数据统计 39
2.3.4 Pandas处理丢失值 41
2.3.5 Pandas处理稀疏数据 45
2.3.6 Pandas的文件操作 46
2.3.7 Pandas 可视化 48
2.4 本章小结 54
第3章 数据采集与存储 55
3.1 数据与数据采集 55
3.2 数据类型与采集方法 56
3.2.1 结构化数据 56
3.2.2 半结构化数据 56
3.2.3 非结构化数据 57
3.3 网络爬虫技术 57
3.3.1 前置条件 58
3.3.2 Scrapy 技术原理 58
3.3.3 Scrapy新建爬虫项目 59
3.3.4 爬取网站内容 61
3.4 爬取数据以JSON格式进行存储 69
3.5 爬取数据的MySQL存储 71
3.5.1 MySQL与Navicat部署 71
3.5.2 MySQL存储爬虫数据 72
3.6 网络爬虫技术扩展 75
3.7 本章小结 76
第4章 文本信息抽取 77
4.1 文本抽取概述 77
4.2 文本抽取问题 78
4.3 Pywin32抽取文本信息 79
4.3.1 Pywin32介绍 79
4.3.2 抽取Word文档文本信息 80
4.3.3 抽取PDF文档文本信息 83
4.3.4 打造灵活的文本抽取工具 84
4.4 文本批量编码 86
4.5 实战案例:遍历文件批量抽取新闻文本内容 86
4.5.1 递归读取文件 87
4.5.2 遍历抽取新闻文本 88
4.6 本章小结 91
第5章 文本数据清洗 92
5.1 新闻语料的准备 92
5.2 高效读取文件 93
5.2.1 递归遍历读取新闻 94
5.2.2 yield生成器 95
5.2.3 高效遍历读取新闻 97
5.3 通过正则表达式来清洗文本数据 98
5.3.1 正则表达式 98
5.3.2 清洗文本数据 100
5.4 清洗HTML网页数据 102
5.5 简繁字体转换 104
5.6 实战案例:批量新闻文本数据清洗 106
5.6.1 高效读取文件内容 106
5.6.2 抽样处理文件 107
5.6.3 通过正则表达式批量清洗文件 108
5.7 本章小结 109
第6章 中文分词技术 110
6.1 中文分词简介 110
6.1.1 中文分词概述 110
6.1.2 常见中文分词方法 111
6.2 结巴分词精讲 112
6.2.1 结巴分词的特点 112
6.2.2 结巴分词的安装 112
6.2.3 结巴分词核心方法 112
6.2.4 结巴中文分词的基本操作 113
6.2.5 自定义分词词典 114
6.2.6 关键词提取 115
6.2.7 词性标注 116
6.3 HanLP分词精讲 117
6.3.1 JPype1的安装 117
6.3.2 调用HanLP的Java包 117
6.3.3 HanLP分词 118
6.3.4 HanLP实现自定义分词 120
6.3.5 命名实体识别与词性标注 120
6.3.6 HanLP实现关键词抽取 121
6.3.7 HanLP实现自动摘要 121
6.4 自定义去除停用词 122
6.4.1 以正则表达式对文本信息进行清洗 122
6.4.2 结巴中文分词词性解读 124
6.4.3 根据词性规则构建自定义停用词 126
6.5 词频统计 126
6.5.1 NLTK介绍与安装 126
6.5.2 统计新闻文本词频 128
6.5.3 统计特定词频和次数 129
6.5.4 特征词的频率分布表 129
6.5.5 频率分布图与频率累计分布图 130
6.5.6 基于Counter的词频统计 131
6.6 自定义去高低词频 132
6.7 自定义规则提取特征词 133
6.8 实战案例:新闻文本分词处理 134
6.9 本章小结 135
第7章 文本特征向量化 136
7.1 解析数据文件 136
7.2 处理缺失值 138
7.2.1 什么是数据缺失值 138
7.2.2 均值法处理数据缺失值 139
7.2.3 Pandas 处理缺失值 141
7.3 数据的归一化处理 143
7.3.1 不均衡数据分析 143
7.3.2 归一化的原理 144
7.3.3 归一化的优点 145
7.4 特征词转文本向量 146
7.5 词频-逆词频(TF-IDF) 147
7.6 词集模型与词袋模型 148
7.7 实战案例:新闻文本特征向量化 153
7.8 本章小结 154
第8章 Gensim文本向量化 155
8.1 Gensim的特性和核心概念 155
8.2 Gensim构建语料词典 156
8.3 Gensim统计词频特征 158
8.4 Gensim计算TF-IDF 158
8.5 Gensim实现主题模型 160
8.5.1 主题模型 160
8.5.2 潜在语义分析(LSA) 161
8.5.3 隐含狄利克雷分布(LDA) 164
8.5.4 LDA的模型实现 166
8.5.5 随机映射(RP) 167
8.6 实战案例:Gensim实现新闻文本特征向量化 169
8.6.1 参数设置 169
8.6.2 生成词典模型 170
8.6.3 生成TF-IDF模型 172
8.7 本章小结 173
第9章 PCA降维技术 174
9.1 什么是降维 174
9.2 PCA概述 175
9.3 PCA应用场景 177
9.4 PCA的算法实现 178
9.4.1 准备数据 178
9.4.2 PCA数据降维 179
9.4.3 高维向低维数据映射 181
9.5 实战案例:PCA技术实现新闻文本特征降维 182
9.5.1 加载新闻数据 182
9.5.2 前N个主成分特征 184
9.5.3 PCA新闻特征降维可视化 186
9.6 本章小结 187
第10章 数据可视化 188
10.1 Matplotlib概述 188
10.1.1 认识 Matplotlib 188
10.1.2 Matplotlib的架构 190
10.2 Matplotlib绘制折线图 193
10.2.1 折线图的应用场景 193
10.2.2 折线图的绘制示例 193
10.3 Matplotlib绘制散点图 195
10.3.1 散点图的应用场景 195
10.3.2 散点图的绘制示例 195
10.4 Matplotlib绘制直方图 197
10.4.1 直方图的应用场景 197
10.4.2 直方图的绘制示例 197
10.5 练习:Matplotlib绘制气温图 198
10.6 练习:Matplotlib绘制三维图 200
10.6.1 练习1:绘制三维梯度下降图 200
10.6.2 练习2:绘制三维散点图 201
10.7 本章小结 203
第11章 竞赛神器XGBoost 204
11.1 XGBoost概述 204
11.1.1 认识XGBoost 204
11.1.2 XGBoost的应用场景 205
11.2 XGBoost的优点 206
11.3 使用XGBoost预测毒蘑菇 206
11.3.1 XGBoost的开发环境及安装 206
11.3.2 数据准备 207
11.3.3 参数设置 207
11.3.4 模型训练 208
11.3.5 可视化特征排名 210
11.4 XGBoost优化调参 210
11.4.1 参数解读 211
11.4.2 调参原则 214
11.4.3 调参技巧 215
11.5 预测糖尿病患者 215
11.5.1 数据准备 215
11.5.2 预测器模型构建 216
11.5.3 调参提高预测器的性能 220
11.6 本章小结 228
第12章 XGBoost实现新闻文本分类 229
12.1 文本分类概述 229
12.2 文本分类的原理 230
12.2.1 文本分类的数学描述 230
12.2.2 文本分类的形式化描述 231
12.3 分类模型评估 231
12.4 数据预处理 233
12.4.1 通用的类库 234
12.4.2 阶段1:生成词典 236
12.4.3 阶段2:词典向量化TF-IDF 238
12.4.4 阶段3:生成主题模型 240
12.5 XGBoost分类器 243
12.6 新闻文本分类应用 248
12.7 本章小结 251
参考文献 252
|
內容試閱:
|
前言
当前,大数据与人工智能技术炙手可热,其对应的工作岗位也逐年增加,薪资也较为诱人。我们在做大数据与人工智能处理时,不可避免地会遇到数据的问题。现实中的数据是不完整的,比如存在缺失值、干扰值等脏数据,这样就没有办法直接挖掘数据的价值,也不能将其直接应用于人工智能设备。为了提高数据的质量产生了数据预处理技术。数据预处理主要是指对原始数据进行文本抽取、数据清理、数据集成、数据变换、数据降维等处理,其目的是提高数据质量,以更好地提升算法模型的性能,其在数据挖掘、自然语言处理、机器学习、深度学习算法中应用广泛。数据预处理是一项很庞杂的工程,当你面对一堆数据手足无措的时候,当你面对数据预处理背后的坑一筹莫展的时候,当你的算法性能迟迟不能提升的时候,本书可以帮助你解决以上问题。本书从什么是数据预处理及其相关基础知识入手,分别介绍了网络爬虫、数据抽取、数据清洗、数据集成、数据变换、数据向量化、数据规约等技术,并结合实际项目和案例帮助读者将所学知识快速应用于工程实践,相信会对数据预处理感兴趣的读者和大数据从业者有所帮助。
本书的主要内容
本书从逻辑上可分为三部分,共12章内容,各部分说明如下:
第一部分(第1~3章),主要介绍数据预处理的基础知识,包括数据预处理的基本概念、工作流程、应用场景、开发环境、入门演练和Python科学计算工具包Numpy、SciPy、Pandas及其实际应用。如果读者已具备一定的数据预处理基础,可以跳过此部分,从第三章开始学习。
第二部分(第3~10章),是数据预处理的实战进阶部分,共计8章。第3章介绍数据采集与存储,主要涉及数据类型和采集方式,其中着重介绍了爬虫技术;第4章介绍不同格式的文本信息抽取和文件读取;第5章介绍了高效读取文件、正则清洗文本信息、网页数据清洗和文本批量清洗工作;第6章介绍了中文分词、封装分词工具包、NLTK词频处理、命名实体抽取和批量分词处理工作;第7章介绍了特征向量化处理,其中涉及数据解析、缺失值处理、归一化处理、特征词文本向量化、词频-逆词频、词集模型、词袋模型和批量文本特征向量化工作;第8章介绍基于Gensim文本特征向量化,涉及构建语料词典、词频统计、词频-逆词频计算、主题模型和特
征降维等。第9章介绍了主成分分析PCA降维技术的原理和实际案例;第10章介绍了Matplotlib数据可视化及案例。
第三部分(包括第11章和第12章),是数据预处理的实际应用部分,主要介绍竞赛神器XGBoost的算法原理、应用、优化调参以及数据预处理在文本分类中的实际应用。
本书的主要特色
本书主要包括以下特色:
? 本书理论与应用相结合,循序渐进地介绍了数据预处理的相关概念、基础知识、常用工具及应用案例,书中实战案例均来自于笔者的实际项目,具有较强的实用性。
? 本书涵盖了数据预处理实际开发中绝大部分重要的知识点,介绍了当今数据预处理涉及的各种技术和热门工具,技术先进,内容详尽,代码可读性及可操作性强。
? 本书针对每一个知识点,尽可能地通过示例来讲解,每一个示例都给出了源码和说明,这些源码本身具备复用的价值,可以直接用于工程项目。另外,笔者还在GitHub上开辟了专门的讨论区,便于读者进行技术交流。
本书面向的读者
本书主要面向以下读者:
? 大数据技术从业者
? AI技术开发人员
? 准备上手数据采集、数据挖掘与数据分析的初学者
? 大数据及相关专业的学生
? 培训机构的学员
源码下载和说明
本书的源码支持GitHub下载,下载地址:
https:github.combainingchaoPyDataPreprocessing
关于源码的说明:
? PyDataPreprocessing:本书源代码的根目标。
? Chapter 数字:分别代表对应章节的源码。
? Corpus:本书所有的训练语料。
? Files:所有文件文档。
? Packages:本书所需要下载的工具包。
本书作者介绍
本书主要由白宁超、唐聃、文俊编写,参与编写的还有田霖、黄河、于小明。
? 白宁超 大数据工程师,现任职于四川省计算机研究院,研究方向包括数据分析、自然语言处理和深度学习。近3年,主持和参与国家自然基金项目和四川省科技支撑计划项目多项,出版专著一部。
? 唐 聃 教授,硕士生导师,成都信息工程大学软件工程学院院长,四川省学术和技术带头人后备人选。研究方向包括编码理论与人工智能,《自然语言处理理论与实战》作者。
? 文 俊 硕士,大数据算法工程师,现任职于成都广播电视台橙视传媒大数据中心。曾以技术总监身份主持研发多个商业项目,负责公司核心算法模型构建。主要研究方向包括数据挖掘、自然语言处理、深度学习以及云计算。
? 田 霖 成都东软学院计算机科学与工程系教师,研究方向包括数据挖掘和强化学习,曾参与四川省智慧环保、四川省涉税信息等多个省级项目。
? 黄 河 博士,重庆大学语言认知及语言应用研究基地研究员,研究方向为计算语言学、语料库处理技术、深度学习和数据挖掘。
? 于小明 讲师,主治医生,现任职于河南省中医院(河南中医药大学第二附属医院),主要从事医疗领域大数据分析,临床泌尿外科小领域本体构建等方面的研究工作。
在本书编写过程中,参考了很多相关资料,在此对他们的贡献表示感谢,虽笔者已尽心竭力,但限于水平和时间仓促,书中难免存在错漏,欢迎读者批评指正。
联系邮箱:booksaga@163.com
作者
2019年5月
|
|