本书介绍了数据科学领域常用的所有重要机器学习算法以及TensorFlow和特征工程等相关内容。涵盖的算法包括线性回归、逻辑回归、支持向量机、朴素贝叶斯、k均值、随机森林等,这些算法可以用于监督学习、非监督学习、强化学习或半监督学习。
在本书中,你将学会如何使用这些算法来解决所遇到的问题,并了解这些算法的工作方式。本书还将介绍自然语言处理和推荐系统,这些内容将帮助大家进行多种算法的实践。
阅读完本书后,面对你所遇到的问题,你将了解如何选择合适的聚类、分类或回归的机器学习算法。
封面图
目录
- 译者序
- 前言
- 第1章机器学习简介
- 1.1简介——经典机器和自适应的机器
- 1.1.1描述性分析
- 1.1.2预测性分析
- 1.2关于学习
- 1.2.1监督学习
- 1.2.2无监督学习
- 1.2.3半监督学习
- 1.2.4强化学习
- 1.2.5计算神经科学
- 1.3超越机器学习——深度学习和基于生物启发的适应系统
- 1.4机器学习和大数据
- 1.5本章小结
- 第2章机器学习的重要元素
- 2.1数据格式
- 2.2可学习性
- 2.2.1欠拟合和过拟合
- 2.2.2误差度量和成本函数
- 2.2.3PAC学习
- 2.3统计学习方法介绍
- 2.3.1最大后验概率学习
- 2.3.2最大似然学习
- 2.4类平衡
- 2.4.1可置换的重采样
- 2.4.2合成少数类过采样
- 2.5信息论的要素
- 2.5.1熵
- 2.5.2交叉熵和互信息
- 2.5.3两个概率分布的散度
- 2.6本章小结
- 第3章特征选择与特征工程
- 3.1scikit-learn的toy数据集
- 3.2创建训练集和测试集
- 3.3管理分类数据
- 3.4管理缺失特征
- 3.5数据缩放和归一化
- 3.6特征选择和过滤
- 3.7主成分分析
- 3.7.1非负矩阵分解
- 3.7.2稀疏PCA
- 3.7.3核PCA
- 3.8独立成分分析
- 3.9原子提取和字典学习
- 3.10使用t-SNE可视化高维数据集
- 3.11本章小结
- 第4章回归算法
- 4.1线性模型
- 4.2一个二维的例子
- 4.3基于scikit-learn的线性回归和更高维
- 4.3.1决定系数
- 4.3.2可解释方差
- 4.3.3回归的解析表达
- 4.4Ridge回归、Lasso回归和ElasticNet
- 4.4.1Ridge回归
- 4.4.2Lasso回归
- 4.4.3ElasticNet
- 4.5稳健回归
- 4.5.1随机抽样一致算法
- 4.5.2Huber回归
- 4.6贝叶斯回归
- 4.7多项式回归
- 4.8保序回归
- 4.9本章小结
- 第5章线性分类算法
- 5.1线性分类
- 5.2逻辑回归
- 5.3实现和优化
- 5.4随机梯度下降算法
- 5.5被动攻击算法
- 5.6通过网格搜索找到最优超参数
- 5.7评估分类的指标
- 5.7.1混淆矩阵
- 5.7.2精确率
- 5.7.3召回率
- 5.7.4F-Beta
- 5.7.5Kappa系数
- 5.7.6分类报告
- 5.7.7学习曲线
- 5.8ROC曲线
- 5.9本章小结
- 第6章朴素贝叶斯和判别分析
- 6.1贝叶斯定理
- 6.2朴素贝叶斯分类器
- 6.3scikit-learn中的朴素贝叶斯
- 6.3.1伯努利朴素贝叶斯
- 6.3.2多项式朴素贝叶斯
- 6.3.3高斯朴素贝叶斯
- 6.4判别分析
- 6.5本章小结
- 第7章支持向量机
- 7.1线性支持向量机
- 7.2scikit-learn实现
- 7.3基于内核的分类
- 7.3.1径向基函数
- 7.3.2多项式核
- 7.3.3Sigmoid核
- 7.3.4自定义核
- 7.3.5非线性例子
- 7.4受控支持向量机
- 7.5支持向量回归
- 7.6半监督支持向量机简介
- 7.7本章小结
- 第8章决策树和集成学习
- 8.1二元决策树
- 8.1.1二元决策
- 8.1.2不纯度的衡量
- 8.1.3特征重要度
- 8.2基于scikit-learn的决策树分类
- 8.3决策树回归
- 8.4集成学习简介
- 8.4.1随机森林
- 8.4.2AdaBoost
- 8.4.3梯度树提升
- 8.4.4投票分类器
- 8.5本章小结
- 第9章聚类原理
- 9.1聚类基础
- 9.2k-NN算法
- 9.3高斯混合
- 9.4k-means
- 9.5基于样本标记的评价方法
- 9.5.1同质性
- 9.5.2完整性
- 9.5.3修正兰德指数
- 9.6本章小结
- 第10章高级聚类
- 10.1DBSCAN
- 10.2谱聚类
- 10.3在线聚类
- 10.3.1mini-batch k-means
- 10.3.2BIRCH
- 10.4双聚类
- 10.5本章小结
- 第11章层次聚类
- 11.1分层策略
- 11.2凝聚聚类
- 11.2.1树形图
- 11.2.2scikit-learn中的凝聚聚类
- 11.2.3连接限制
- 11.3本章小结
- 第12章推荐系统介绍
- 12.1朴素的基于用户的系统
- 12.2基于内容的系统
- 12.3无模式(或基于内存的)协同过滤
- 12.4基于模型的协同过滤
- 12.4.1奇异值分解策略
- 12.4.2交替最小二乘法策略
- 12.4.3用Apache Spark MLlib实现交替最小二乘法策略
- 12.5本章小结
- 第13章自然语言处理简介
- 13.1NLTK和内置语料库
- 13.2词袋策略
- 13.2.1标记
- 13.2.2停止词的删除
- 13.2.3词干抽取
- 13.2.4向量化
- 13.3词性
- 13.4示例文本分类器
- 13.5本章小结
- 第14章NLP中的主题建模与情感分析
- 14.1主题建模
- 14.1.1隐性语义分析
- 14.1.2概率隐性语义分析
- 14.1.3隐性狄利克雷分配
- 14.2使用Gensim的Word2vec简介
- 14.3情感分析
- 14.4本章小结
- 第15章神经网络介绍
- 15.1深度学习简介
- 15.2基于Keras的MLP
- 15.3本章小结
- 第16章高级深度学习模型
- 16.1深层结构
- 16.2基于Keras的深度卷积网络示例
- 16.3基于Kears的LSTM网络示例
- 16.4TensorFlow简介
- 16.4.1梯度计算
- 16.4.2逻辑回归
- 16.4.3用多层感知器进行分类
- 16.4.4图像卷积
- 16.5本章小结
- 第17章创建机器学习架构
- 17.1机器学习框架
- 17.1.1数据收集
- 17.1.2归一化
- 17.1.3降维
- 17.1.4数据扩充
- 17.1.5数据转换
- 17.1.6建模、网格搜索和交叉验证
- 17.1.7可视化
- 17.1.8GPU支持
- 17.1.9分布式架构简介
- 17.2用于机器学习架构的scikit-learn工具
- 17.2.1管道
- 17.2.2特征联合
- 17.3本章小结