您好,欢迎来到聚文网。 登录 免费注册
机器学习入门——基于Sklearn

机器学习入门——基于Sklearn

  • 字数: 386000
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 出版日期: 2022-02-01
  • 商品条码: 9787302599982
  • 版次: 1
  • 开本: 16开
  • 页数: 268
  • 出版年份: 2022
定价:¥49.9 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
Python和机器学习是当今信息领域的热门领域,众多高校开设Python学习。本书以Python为基础,使用sklearn平台,封装了众多机器学习算法,回避了烦琐的数学理论知识 ,对于初学者而言,易于上手实践,能尽快对机器学习有初步认识,提早入门。本书具有如下特点:1、代码详解:区别于市场上众多机器学习教材“重理论轻代码”,往往只是给出伪代码,而本书的代码都是采用Python实现,使用sklearn平台使得机器学习算法具有实践性,从而便于学生更快地掌握机器学习的思想,加速学生入门的过程。2、突出实用性。针对每个机器学习算法都有相关案例。
内容简介
本书以Python为基础,使用Sklearn平台,逐步带领读者熟悉并掌握机器学习的经典算法。全书共12章,主要内容包括人工智能概述、Python科学计算、数据清洗与特征预处理、数据划分与特征提取、特征降维与特征选择、模型评估与选择、KNN算法、决策树、线性模型、朴素贝叶斯算法、支持向量机和k均值聚类算法,附录介绍了课程教学大纲和Sklearn数据集。 本书内容精练,文字简洁,结构合理,案例经典且实用,综合性强,面向机器学习入门读者,侧重提高。 本书适合作为高等院校相关专业机器学习入门课程教材或教学参考书,也可以供从事机器学习应用开发的技术人员参考。
作者简介
周元哲,参与国家自然科学基金“基于多阶段可用性的Web 服务组合管理关键技术、参与陕西省教育厅 “协同agent进化聚类算法研究”,参与西安市科学技术计划项目“基于windows的软件测试平台的开发”,获得2011年西安市科学技术二等奖。
目录
第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
摘要
     第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", "class 1", 22], ["L", np.nan, "gray", "class 2", 20], ["XL", 10, "blue", "class 2", 19], ["M", np.nan, "orange", "class 1", 17], ["M", 11, "green", "class 3", np.nan], ["M", 7, "red", "class 1", 22]]) df.columns=["size", "price", "color", "class", "boh"] print(df) #1. 创建Imputer #imp=Imputer(missing_values="NaN", strategy="mean" ) imp=SimpleImputer(missing_values=np.nan, strategy="mean") #2. 使用fit_transform 函数完成缺失值填充 df["price"]=imp.fit_transform(df[["price"]]) print(df) 58 【程序运行结果】 b 4.5 a NaN dtype: float64 f 1.0 e NaN d 3.0 c 4.0 b 5.0 a NaN dtype: float64 f 1.0 e 2.5 d 3.0 c 4.0 b 5.0 a NaN dtype: float64 3.3 特征预处理 有一句话在业界广泛流传:“数据和特征决定了机器学习的上限,而模型和算法只是 逼近这个上限而已。”这里的数据是指经过特征预处理后的数据。特征预处理就是对数据 进行集成、转换、规约等一系列处理,使之适合算法模型的过程。 Sklearn提供了preprocessing模块,用于进行归一化、标准化、鲁棒化、正则化等数据 预处理。preprocessing模块常用方法如表3.4所示。 表3.4 preprocessing模块常用方法 方 法 名方法含义 preprocessing.MinMaxScaler 归一化 preprocessing.StandardScaler 标准化 preprocessing.RobustScaler 鲁棒化 preprocessing.normalize 正则化 68 3.3.1 归一化 归一化又称为区间缩放

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网