目 录
前言
第1章 绪论 1
1.1 数据挖掘技术的由来 1
1.2 数据挖掘的分类 2
1.2.1 关联规则挖掘 2
1.2.2 监督式机器学习 3
1.2.3 非监督式机器学习 4
1.3 Python的安装步骤 5
1.3.1 Python环境的配置 5
1.3.2 PyCharm的安装 7
1.4 常见的数据集 10
1.4.1 鸢尾花数据集 10
1.4.2 员工离职预测数据集 11
1.4.3 泰坦尼克号灾难预测数据集 12
1.4.4 PM2.5空气质量预测数据集 13
1.5 本章小结 13
第2章 分类 14
2.1 分类的概念 14
2.2 分类中的训练集与测试集 14
2.3 分类的过程及验证方法 15
2.3.1 准确率 15
2.3.2 k折交叉验证 16
2.4 贝叶斯分类的编程实践 17
2.4.1 鸢尾花数据集的贝叶斯分类 17
2.4.2 基于贝叶斯分类的员工离职
预测 17
2.5 本章小结 19
第3章 数据的特征选择 20
3.1 直方图 20
3.1.1 直方图可视化 20
3.1.2 直方图特征选择 23
3.2 直方图与柱状图的差异 24
3.3 特征选择实践 26
3.4 本章小结 29
第4章 数据预处理之数据清洗 30
4.1 案例概述 30
4.2 缺失值处理 31
4.2.1 缺失值处理概述 31
4.2.2 缺失值处理实例 32
4.3 噪声数据处理 32
4.3.1 正态分布噪声数据检测 32
4.3.2 用箱线图检测噪声数据 34
4.4 数据预处理案例实践 35
4.4.1 问题 35
4.4.2 解决方法 35
4.4.3 实践结论 37
4.5 本章小结 38
第5章 数据预处理之转换 39
5.1 数据的数值化处理 39
5.1.1 顺序编码 39
5.1.2 二进制编码 40
5.2 数据规范化 42
5.2.1 最小–最大规范化 42
5.2.2 z分数规范化 43
5.2.3 小数定标规范化 43
5.3 本章小结 43
第6章 数据预处理之数据降维 44
6.1 散点图可视化分析 44
6.2 主成分分析 46
6.3 本章小结 49
第7章 不平衡数据分类 50
7.1 不平衡数据分类问题的特征 50
7.1.1 数据稀缺问题 50
7.1.2 噪声问题 51
7.1.3 决策面偏移问题 51
7.1.4 评价标准问题 51
7.2 重采样方法 51
7.2.1 上采样 52
7.2.2 对上采样方法的改进 53
7.2.3 下采样 58
7.2.4 对下采样方法的改进 60
7.2.5 不平衡问题的其他处理方式 65
7.3 不平衡数据分类实践 65
7.4 本章小结 66
第8章 回归分析 67
8.1 线性回归 67
8.1.1 一元线性回归 67
8.1.2 多元线性回归 69
8.2 回归分析检测 71
8.2.1 正态分布可能性检测 71
8.2.2 线性分布可能性检测 72
8.2.3 log转换后的分布 73
8.3 回归预测案例实践 74
8.3.1 案例背景 74
8.3.2 代码实现 74
8.4 本章小结 82
第9章 聚类分析 83
9.1 k均值聚类 83
9.1.1 算法的步骤 83
9.1.2 代码实现 83
9.2 层次聚类 84
9.2.1 算法的步骤 84
9.2.2 代码实现 85
9.3 密度聚类 85
9.3.1 算法的步骤 85
9.3.2 代码实现 86
9.4 本章小结 88
第10章 关联分析 90
10.1 Apriori算法 90
10.2 关联分析案例实践 92
10.2.1 案例背景 92
10.2.2 案例的数据集 93
10.2.3 代码实现 93
10.2.4 运行结果 93
10.3 提升Apriori算法性能的方法 95
10.4 本章小结 95
第11章 KNN分类 96
11.1 KNN算法的步骤 96
11.2 KNeighborsClassifier函数 97
11.3 KNN的代码实现 98
11.4 结果分析 98
11.5 KNN案例实践 99
11.5.1 案例分析 99
11.5.2 案例实现 100
11.5.3 运行结果 103
11.6 本章小结 104
第12章 支持向量机 105
12.1 支持向量机的可视化分析 105
12.2 SVM的代码实现 108
12.2.1 鸢尾花数据分类 108
12.2.2 新闻文本数据分类 110
12.3 本章小结 111
第13章 神经网络分类 112
13.1 多层人工神经网络 112
13.2 多层人工神经网络的代码实现 113
13.3 神经网络分类案例实践 114
13.3.1 案例背景 114
13.3.2 数据说明 114
13.3.3 代码实现 115
13.4 本章小结 120
第14章 集成学习 121
14.1 Bagging方法 121
14.2 随机森林 123<>