机器学习入门——基于Sklearn-图书推荐

目录

第1章人工智能概述1
1.1相关概念1
1.1.1人工智能1
1.1.2机器学习2
1.1.3深度学习2
1.1.4三者关系2
1.2机器学习三要素3
1.2.1数据3
1.2.2算法4
1.2.3模型6
1.3机器学习开发流程6
1.3.1数据采集6
1.3.2数据预处理7
1.3.3特征工程7
1.3.4模型构建和训练7
1.3.5模型优化和评估8
1.4Sklearn框架8
1.4.1Sklearn简介9
1.4.2Sklearn的安装过程10
1.4.3基于Sklearn的机器学习流程10
1.5Anaconda13
1.5.1Anaconda简介13
1.5.2Anaconda的安装过程13
1.5.3Anaconda的运行方式15
1.5.4Jupyter Notebook17
1.6学习建议与方法20
1.6.1学习建议20
1.6.2学习方法21


1.6.3Kaggle竞赛平台21

第2章Python科学计算22 2.1走进科学计算22
2.2NumPy23
2.2.1NumPy简介23
2.2.2创建数组25
2.2.3查看数组26
2.2.4索引和切片27
2.2.5矩阵运算28
2.2.6主要方法29
2.3Matplotlib30
2.3.1Matplotlib简介30
2.3.2图表要素31
2.3.3线图31
2.3.4散点图32
2.3.5饼状图33
2.3.6条形图34
2.3.7直方图34
2.4SciPy35
2.4.1SciPy简介35
2.4.2稀疏矩阵36
2.4.3泊松分布37
2.4.4二项分布37
2.4.5正态分布38
2.4.6均匀分布39
2.4.7指数分布40
2.5Pandas41
2.5.1Pandas简介41
2.5.2Series42
2.5.3DataFrame46
2.5.4Index52


2.5.5plot53

第3章数据清洗与特征预处理56 3.1数据清洗56
3.1.1数据清洗简介56
3.1.2评价标准56
3.2清洗方法56
3.2.1缺失值56
3.2.2异常值58
3.2.3重复值60
3.2.4Pandas数据清洗函数60
3.3特征预处理67
3.3.1归一化68
3.3.2标准化69
3.3.3鲁棒化70
3.3.4正则化70
3.3.5学生数据清洗示例71
3.4missingno76
3.4.1missingno简介76
3.4.2图示功能76
3.4.3数据可视化示例79
3.5wordcloud80
3.5.1wordcloud简介80


3.5.2wordcloud示例80

第4章数据划分与特征提取83 4.1数据划分83
4.1.1留出法83
4.1.2交叉验证法84
4.1.3自助法87
4.2独热编码88
4.2.1独热编码简介88
4.2.2独热编码示例88
4.3初识特征提取90
4.4字典特征提取91
4.4.1字典特征提取简介91
4.4.2DictVectorizer91
4.5文本特征提取92
4.5.1CountVectorizer93
4.5.2TfidfVectorizer94
4.6中文分词95
4.6.1简介95
4.6.2jieba分词库96


4.6.3停用词表103

第5章特征降维与特征选择107 5.1初识特征降维107
5.2线性判别分析107
5.2.1线性判别分析简介107
5.2.2线性判别分析示例108
5.3主成分分析109
5.3.1主成分分析简介109
5.3.2components参数110
5.4特征选择112
5.4.1简介112
5.4.23种方法112
5.5包装法113
5.5.1递归特征消除113
5.5.2交叉验证递归特性消除114
5.6过滤法116
5.6.1移除低方差特征116
5.6.2单变量特征选择117
5.7皮尔森相关系数118
5.7.1皮尔森相关系数简介118
5.7.2皮尔森相关系数应用示例119
5.8嵌入法121
5.8.1基于惩罚项的特征选择121


5.8.2基于树模型的特征选择121

第6章模型评估与选择123 6.1欠拟合和过拟合123
6.1.1欠拟合123
6.1.2过拟合124
6.1.3正则化124
6.2模型调参125
6.2.1网格搜索125
6.2.2随机搜索126
6.3分类评价指标127
6.3.1混淆矩阵127
6.3.2准确率129
6.3.3准确率130
6.3.4召回率131
6.3.5F1分数132
6.3.6ROC曲线133
6.3.7AUC134
6.3.8分类评估报告135
6.4损失函数136
6.5回归损失136
6.5.1MAE136
6.5.2MSE137
6.5.3RMSE138
6.5.4R2分数138
6.5.5Huber损失139
6.6分类损失141
6.6.1平方损失函数141
6.6.2误差损失函数141
6.6.301损失函数141
6.6.4对数损失函数142


6.6.5铰链损失函数143

第7章KNN算法144 7.1初识KNN算法144
7.1.1算法描述144
7.1.2三要素146
7.2分类问题147
7.2.1分类问题简介147
7.2.2分类问题示例147
7.3回归问题150
7.3.1回归问题简介150
7.3.2回归问题示例151
7.4案例152
7.4.1电影类型152
7.4.2鸢尾花153
7.4.3波士顿房价154


7.4.4印第安人的糖尿病156

第8章决策树161 8.1初识决策树161
8.1.1决策树简介161
8.1.2决策树相关概念162
8.2决策树算法164
8.2.1ID3算法164
8.2.2C4.5算法165
8.2.3CART算法165
8.3分类与回归166
8.3.1分类问题166
8.3.2回归问题166
8.3.3max_depth参数调优166
8.4集成分类模型169
8.4.1随机森林170
8.4.2梯度提升决策树171
8.5Graphviz与DOT175
8.5.1Graphviz175
8.5.2DOT177
8.6案例178
8.6.1决定是否赖床178


8.6.2波士顿房价180

第9章线性模型182 9.1线性回归182
9.1.1线性回归简介182
9.1.2简单线性回归实现182
9.2小二乘法185
9.2.1小二乘法简介185
9.2.2比萨价格185
9.3逻辑回归186
9.3.1逻辑回归简介186
9.3.2乳腺癌187
9.4优化方法189
9.4.1正规方程189
9.4.2梯度下降190
9.5岭回归192
9.5.1岭回归简介192
9.5.2alpha参数194
9.6案例195
9.6.1糖尿病195
9.6.2波士顿房价196


9.6.3鸢尾花198

第10章朴素贝叶斯算法201 10.1初识朴素贝叶斯算法201
10.2贝叶斯定理201
10.3朴素贝叶斯分类方法202
10.3.1GaussianNB函数202
10.3.2MultinomialNB函数203
10.3.3BernoulliNB函数205
10.4案例207
10.4.1鸢尾花207


10.4.2新闻文本分类208

第11章支持向量机210 11.1初识支持向量机210
11.1.1支持向量机简介210
11.1.2支持向量机算法库211
11.2核函数211
11.2.1径向基核函数211
11.2.2线性核函数212
11.2.3多项式核函数213
11.3参数调优215
11.3.1gamma参数215
11.3.2惩罚系数C217
11.4回归问题218
11.5案例219
11.5.1鸢尾花219


11.5.2波士顿房价222

第12章k均值聚类算法224 12.1初识k均值聚类算法224
12.1.1k均值聚类算法简介224
12.1.2k均值聚类算法步骤224
12.1.3k均值聚类算法相关问题227
12.1.4k均值聚类算法和KNN关系228
12.2k均值聚类算法评估指标229
12.2.1ARI229
12.2.2轮廓系数230
12.3案例234
12.3.1鸢尾花数据集234


12.3.2标记聚类中心235

附录A课程教学大纲237 A.1课程简介237
A.2课程内容及要求237
A.3教学安排及学时分配241
A.4考核方式242


A.5教材及参考文献242

附录BSklearn数据集243 B.1初识Sklearn数据集243
B.2小数据集243
B.2.1小数据集简介243
B.2.2鸢尾花数据集244
B.2.3葡萄酒数据集245
B.2.4波士顿房价数据集245
B.2.5手写数字数据集245
B.2.6乳腺癌数据集245
B.2.7糖尿病数据集245
B.2.8体能训练数据集246
B.3大数据集246
B.3.1大数据集简介246
B.3.2新闻分类数据集246
B.4生成数据集247
B.4.1生成数据集简介247
B.4.2make_regression函数247
B.4.3make_blobs函数248
B.4.4make_classification函数249
B.4.5make_gaussian_quantiles函数250
B.4.6make_circles函数251
参考文献253

内容简介

本书以Python为基础,使用Sklearn平台,逐步带领读者熟悉并掌握机器学习的经典算法。全书共12章,主要内容包括人工智能概述、Python科学计算、数据清洗与特征预处理、数据划分与特征提取、特征降维与特征选择、模型评估与选择、KNN算法、决策树、线性模型、朴素贝叶斯算法、支持向量机和k均值聚类算法,附录介绍了课程教学大纲和Sklearn数据集。 本书内容精练,文字简洁,结构合理,案例经典且实用,综合性强,面向机器学习入门读者,侧重提高。 本书适合作为高等院校相关专业机器学习入门课程教材或教学参考书,也可以供从事机器学习应用开发的技术人员参考。

精彩内容

第3章数据清洗与特征预处理 数据处理是建立机器学习模型的第一步,对最终结果有决定性的作用。本章重点介 绍数据清洗与特征预处理。其中,数据清洗是指对缺失值、异常值和重复值等进行处理; 特征预处理是指通过规范化、标准化、鲁棒化和正则化等方法将数据转化成符合算法要求 的数据。最后介绍misingno库和词云,它们用于可视化显示数据相关信息。 3.数据清洗 1 3.1 数据清洗简介 1. 在处理数据之前,需要进行数据质量分析,了解数据的功能和作用,检查原始数据中 是否存在脏数据。脏数据一般是指不符合要求以及不能直接进行相应分析的数据。 脏数据往往存在如下问题:没有列头,一个列有多个参数,列数据的单位不统一,存 在缺失值、空行、重复数据和非ASCI 字符,有些列头应该是数据而不应该是列名参数, 等等。可将这些问题大致归类为缺失值、异常值和重复值等噪声数据问题。而数据清洗 就是发现并处理这些数据问题。 3.2 评价标准 1. 对于数据的评价一般具有如下标准: (1)准确性。描述数据是否与其对应的客观实体的特征一致。 (2)完整性。描述数据是否存在缺失记录或缺失字段。 (3)一致性。描述同一实体的同一属性的值在不同系统中是否一致。 (4)有效性。描述数据是否满足用户定义的条件或在一定的域值范围内。 (5)专享性。描述数据是否存在重复记录。 3.清洗方法 2 2.缺失值 3.1 缺失值通常是指记录的缺失和记录中某个字段信息的缺失,一般以空白、NaN或其 他占位符编码,采用删除法和数据填充进行处理。 .删除法。如果某个属性的缺失值过多,可以直接删除整个属性。 .数据填充。使用一个全局变量填充缺失值,使用属性的平均值、中间值、优选值、 57 最小值或更为复杂的概率统计函数值填充缺失值。 常用填充方法如表3.1所示。 表3.1 常用填充方法 填充方法方法描述 平均值/中位数根据属性值的类型,用该属性取值的平均值/中位数填充 固定值将缺失的属性值用一个常量替换 最近值用最接近缺失值的属性值填补 Sklearn中的Imputer类或SimpleImputer类用于处理缺失值。其中,Imputer在 preprocessing模块中,而SimpleImputer在sklearn.impute模块中。 Imputer具体语法如下: from sklearn.preprocessing import Imputer imp=Imputer(missing_values="NaN", strategy="mean") SimpleImputer具体语法如下: from sklearn.impute import SimpleImputer imp=SimpleImputer(missing_values=np.nan, strategy="mean") 参数含义如下: . missing_values=np.nan:缺失值是NaN。 .strategy="mean":用平均值、中位数等填充缺失值。 【例3.1】 缺失值处理示例。 import pandas as pd import numpy as np #from sklearn.preprocessing import Imputer from sklearn.impute import SimpleImputer df=pd.DataFrame([["XXL", 8, "black", ">

价格说明

定价:为出版社全国统一定价;

商城价:为商品的销售价,是您最终决定是否购买商品的依据;受系统缓存影响,最终价格以商品放入购物车后显示的价格为准;

关于新广告法声明

新广告法规定所有页面信息中不得出现绝对化用词和功能性用词。

本店非常支持新广告法,但为了不影响消费者正常购买,页面明显区域本店已在排查修改,对于不明显区域也将会逐步排查并修改,我们此郑重声明:本店所有页面上的绝对化用词与功能性用词在此声明全部失效,不作为赔付理由。涉及“教育部声明”中的商品,均不代表教育部指定、推荐的具体版本,仅代表该商品的内容为指定、推荐书目。因极限用词引起的任何形式的商品赔付,本店不接收且不妥协。希望消费者理解并欢迎联系客服帮助完善,也请职业打假人士高抬贵手。

卖贝商城 推荐:机器学习入门——基于Sklearn