产品特色
编辑推荐
机器学习正在迅速成为数据驱动型世界的一个bi备模块。许多不同的领域,如机器人、医学、零售和出版等,都需要依赖这门技术。通过阅读 Python机器学习实践指南 ,你将学习如何一步步构建真实的机器学习应用程序。
Python机器学习实践指南 以通俗易懂,简洁明了的方式,教你如何使用机器学习来收集、分析并操作大量的数据。通过易于理解的项目,本书讲解如何处理各种类型的数据、如何以及何时应用不同的机器学习技术,包括监督学习和无监督学习。本书中的每个项目都同时提供了教学和实践,你将学习如何使用聚类技术来发现低价的机票,以及如何使用线性回归找到一间便宜的公寓 。
Python机器学习实践指南 适合的读者包括了解数据科学的Python程序员、数据科学家、架构师,以及想要构建完整的、基于Python的机器学习系统的人们。
通过阅读Python机器学习实践指南 ,你将能:
·了解Python机器学习的生态系统;
·了解如何执行线性回归;
·机器视觉概念的介绍;
·高级数据可视化技术;
·如何使用第三方API,部署机器学习模型;
·时间序列的建模技术;
·如何构建无监督模型。
内容简介
机器学习是近年来渐趋热门的一个领域,同时Python 语言经过一段时间的发展也已逐渐成为主流的编程语言之一。本书结合了机器学习和Python 语言两个热门的领域,通过利用两种核心的机器学习算法来将Python 语言在数据分析方面的优势发挥到**。
全书共有10 章。第1 章讲解了Python 机器学习的生态系统,剩余9 章介绍了众多与机器学习相关的算法,包括各类分类算法、数据可视化技术、推荐引擎等,主要包括机器学习在公寓、机票、IPO 市场、新闻源、内容推广、股票市场、图像、聊天机器人和推荐引擎等方面的应用。
本书适合Python 程序员、数据分析人员、对算法感兴趣的读者、机器学习领域的从业人员及科研人员阅读。
作者简介
Alexander T. Combs 是一位经验丰富的数据科学家、策略师和开发人员。他有金融数据抽取、自然语言处理和生成,以及定量和统计建模的背景。他目前是纽约沉浸式数据科学项目的一名全职zi深讲师。
目录
目 录
第1章Python机器学习的生态系统 1
1.1 数据科学/机器学习的工作
流程 2
1.1.1 获取 2
1.1.2 检查和探索 2
1.1.3 清理和准备 3
1.1.4 建模 3
1.1.5 评估 3
1.1.6 部署 3
1.2 Python库和功能 3
1.2.1 获取 4
1.2.2 检查 4
1.2.3 准备 20
1.2.4 建模和评估 26
1.2.5 部署 34
1.3 设置机器学习的环境 34
1.4 小结 34
第2章构建应用程序,发现低价的
公寓 35
2.1 获取公寓房源数据 36
使用import.io抓取房源
数据 36
2.2 检查和准备数据 38
2.2.1 分析数据 46
2.2.2 可视化数据 50
2.3 对数据建模 51
2.3.1 预测 54
2.3.2 扩展模型 57
2.4 小结 57
第3章构建应用程序,发现低价的
机票 58
3.1 获取机票价格数据 59
3.2 使用高级的网络爬虫技术
检索票价数据 60
3.3 解析DOM以提取定价数据 62
通过聚类技术识别
异常的票价 66
3.4 使用IFTTT发送实时提醒 75
3.5 整合在一起 78
3.6 小结 82
第4章使用逻辑回归预测IPO市场 83
4.1 IPO市场 84
4.1.1 什么是IPO 84
4.1.2 近期IPO市场表现 84
4.1.3 基本的IPO策略 93
4.2 特征工程 94
4.3 二元分类 103
4.4 特征的重要性 108
4.5 小结 111
第5章创建自定义的新闻源 112
5.1 使用Pocket应用程序,创建一个监督训练的集合 112
5.1.1 安装Pocket的Chrome
扩展程序 113
5.1.2 使用Pocket API来检索
故事 114
5.2 使用embed.ly API下载故事的
内容 119
5.3 自然语言处理基础 120
5.4 支持向量机 123
5.5 IFTTT与文章源、Google表单
和电子邮件的集成 125
通过IFTTT设置新闻源
和Google表单 125
5.6 设置你的每日个性化
新闻简报 133
5.7 小结 137
第6章预测你的内容是否会广为
流传 138
6.1 关于病毒性,研究告诉我们了
些什么 139
6.2 获取分享的数量和内容 140
6.3 探索传播性的特征 149
6.3.1 探索图像数据 149
6.3.2 探索标题 152
6.3.3 探索故事的内容 156
6.4 构建内容评分的预测模型 157
6.5 小结 162
第7章使用机器学习预测股票市场 163
7.1 市场分析的类型 164
7.2 关于股票市场,研究告诉
我们些什么 165
7.3 如何开发一个交易策略 166
7.3.1 延长我们的分析
周期 172
7.3.2 使用支持向量回归,
构建我们的模型 175
7.3.3 建模与动态时间扭曲 182
7.4 小结 186
第8章建立图像相似度的引擎 187
8.1 图像的机器学习 188
8.2 处理图像 189
8.3 查找相似的图像 191
8.4 了解深度学习 195
8.5 构建图像相似度的引擎 198
8.6 小结 206
第9章打造聊天机器人 207
9.1 图灵测试 207
9.2聊天机器人的历史 208
9.3 聊天机器人的设计 212
9.4 打造一个聊天机器人 217
9.5 小结 227
第10章构建推荐引擎 228
10.1 协同过滤 229
10.1.1 基于用户的过滤 230
10.1.2 基于项目的过滤 233
10.2 基于内容的过滤 236
10.3 混合系统 237
10.4 构建推荐引擎 238
10.5 小结 251
《Python机器学习实践指南》 内容简介 本书旨在为读者提供一个全面且深入的Python机器学习实践指南。从基础概念的梳理,到高级算法的应用,再到项目实战的演练,本书力求以清晰易懂的语言和丰富详实的案例,带领读者一步步掌握机器学习的核心技术,并将其应用于解决实际问题。 第一部分:机器学习基础与Python环境搭建 在机器学习的世界里,理解其基本原理是至关重要的第一步。本部分将从最基础的概念入手,解释机器学习的定义、分类(监督学习、无监督学习、强化学习)以及常见的应用场景,帮助读者建立起对机器学习的整体认知。我们将探讨数据在机器学习中的作用,包括数据的收集、清洗、预处理以及特征工程的重要性,并阐述模型训练、评估和优化的基本流程。 为了能够顺利地进行机器学习实践,掌握必要的Python工具和库是不可或缺的。本部分将详细介绍如何搭建Python机器学习开发环境,包括Python解释器的安装、集成开发环境(IDE)的选择(如PyCharm, VS Code等)以及核心库的安装与配置。我们将重点讲解以下几个关键库: NumPy: 科学计算的基础库,用于处理多维数组和矩阵运算,是几乎所有Python数据科学库的基石。我们将学习NumPy的数组创建、索引、切片、数学函数以及广播机制等常用操作。 Pandas: 数据分析和处理的利器,提供DataFrame和Series等数据结构,极大地方便了数据的读取、清洗、转换和分析。本部分将详细介绍Pandas的数据读取(CSV, Excel等)、数据筛选、缺失值处理、数据合并与连接、分组聚合等核心功能。 Matplotlib & Seaborn: 数据可视化是理解数据模式和模型表现的重要手段。我们将学习如何使用Matplotlib绘制各种类型的图表,如折线图、散点图、柱状图、直方图等,并了解如何通过Seaborn更便捷地创建美观且信息丰富的统计图表,从而更好地进行探索性数据分析(EDA)。 在掌握了这些基础工具后,我们将进一步介绍机器学习的数学基础,包括线性代数、微积分和概率论在机器学习算法中的应用,让读者理解算法背后的数学原理,从而能够更灵活地应用和调整算法。 第二部分:监督学习算法精讲与实践 监督学习是机器学习中最常见也最广泛应用的类型,其核心在于利用带有标签的数据进行模型训练,以预测未知数据的标签。本部分将深入剖析各种经典的监督学习算法,并结合Python代码进行实践。 线性回归与多项式回归: 作为最基础的回归算法,我们将讲解线性回归的原理、模型构建、损失函数以及梯度下降等优化方法。随后,我们将扩展到多项式回归,探讨如何处理非线性关系,并分析过拟合和欠拟合问题。 逻辑回归: 尽管名字中有“回归”,但逻辑回归实际上是一种强大的二分类算法。我们将详细解释其Sigmoid函数、损失函数(交叉熵)以及如何用于概率预测。 支持向量机 (SVM): SVM是一种强大的分类算法,通过寻找最优超平面来分离不同类别的数据。本部分将详细讲解线性SVM、核技巧(如多项式核、高斯核)以及软间隔SVM的概念,帮助读者理解其在高维空间中的表现。 决策树: 决策树以其直观易懂的结构和易于解释的特点而受到欢迎。我们将学习如何构建决策树,包括节点分裂的准则(如信息增益、基尼系数),以及如何进行剪枝以防止过拟合。 随机森林: 作为决策树的集成学习方法,随机森林通过构建多个决策树并进行投票来提高预测的准确性和鲁棒性。我们将探讨随机森林的构建过程、特征随机选择以及袋外误差估计。 梯度提升算法 (XGBoost, LightGBM): XGBoost和LightGBM是当前性能最顶尖的梯度提升算法库。本部分将深入讲解梯度提升的原理,包括基学习器的构建、残差拟合以及正则化技术,并重点介绍XGBoost和LightGBM的强大功能和高效实现。 在介绍每种算法时,本书都会提供相应的Python实现,并使用Scikit-learn等库进行模型的训练、预测和评估。我们将详细讲解模型评估指标,如准确率、精确率、召回率、F1分数、ROC曲线和AUC值等,并指导读者如何根据具体问题选择合适的评估指标。 第三部分:无监督学习算法探索 无监督学习处理的是没有标签的数据,其目标是从数据中发现隐藏的结构、模式或关系。本部分将介绍几种重要的无监督学习算法。 K-Means聚类: K-Means是最常用的聚类算法之一,其目标是将数据点分配到K个簇中,使得每个簇内数据点的方差最小。我们将讲解K-Means的算法流程、初始化方法、簇中心更新以及如何选择合适的K值(如肘部法则、轮廓系数)。 层次聚类: 层次聚类可以生成一个数据点之间关系的层次结构(树状图)。我们将介绍凝聚型聚类和分裂型聚类的基本思想,以及如何根据树状图进行簇的划分。 主成分分析 (PCA): PCA是一种常用的降维技术,通过线性变换将高维数据投影到低维空间,同时最大化保留数据的方差。我们将讲解PCA的数学原理,包括协方差矩阵、特征值和特征向量,以及如何使用PCA进行特征提取和可视化。 独立成分分析 (ICA): ICA旨在寻找数据中的统计上独立的成分。我们将简要介绍ICA的应用场景,如信号分离。 降维技术 (t-SNE, UMAP): 除了PCA,我们还会介绍t-SNE和UMAP等非线性降维技术,它们在可视化高维数据方面表现出色,能够更好地揭示数据的局部结构。 本书将通过实际数据集演示这些无监督学习算法的应用,帮助读者理解如何利用它们来探索数据的内在结构、发现潜在的群体或压缩数据维度。 第四部分:深度学习基础与PyTorch入门 随着深度学习的飞速发展,掌握深度学习技术已成为机器学习领域的重要课题。本部分将为读者引入深度学习的基本概念,并以PyTorch为主要框架进行实践。 神经网络基础: 我们将从最基本的神经元模型讲起,介绍激活函数、多层感知机(MLP)的结构、前向传播和反向传播算法,以及损失函数和优化器(如SGD, Adam)。 卷积神经网络 (CNN): CNN是处理图像数据的强大工具。我们将讲解卷积层、池化层、全连接层等核心组成部分,以及它们在图像识别、目标检测等任务中的应用。 循环神经网络 (RNN) 和长短期记忆网络 (LSTM): RNN及其变体LSTM在处理序列数据(如文本、时间序列)方面表现出色。我们将讲解RNN的循环结构,以及LSTM如何解决RNN的梯度消失问题,并介绍它们在自然语言处理(NLP)等领域的应用。 PyTorch入门: PyTorch是一个流行的深度学习框架,以其灵活性和易用性著称。本部分将介绍PyTorch的基本张量操作,如何定义神经网络模型(nn.Module),如何加载数据集,以及如何进行模型训练和评估。 本书将通过构建简单的CNN和RNN模型来演示深度学习的实践过程,帮助读者建立对深度学习模型构建和训练的基本认知。 第五部分:机器学习项目实战与部署 理论知识的学习最终需要通过实际项目来巩固和提升。本部分将选取几个经典的机器学习项目,带领读者从数据收集、预处理、模型选择、训练、评估到最终部署,完成一个完整的机器学习项目生命周期。 项目一:情感分析: 利用文本数据,构建模型对文本的情感倾向进行分类,涉及文本预处理、词向量表示(如TF-IDF, Word2Vec)以及分类模型的应用。 项目二:房价预测: 利用房屋特征数据,构建回归模型预测房屋价格,涉及特征工程、回归算法的选择与调优。 项目三:图像分类: 利用图像数据集,构建CNN模型实现图像分类任务,涉及数据增强、模型设计与训练。 在项目实战部分,我们将强调机器学习工程师在项目开发中的关键技能,如数据分析、特征工程、模型选择与调优、交叉验证、超参数优化以及模型的可解释性。 最后,本部分还将简要介绍如何将训练好的模型进行部署,使其能够服务于实际应用。我们将讨论常见的部署方式,如使用Flask/Django构建API接口,或利用ONNX等工具进行模型导出。 第六部分:机器学习的进阶主题与最佳实践 在掌握了基本的机器学习算法和实践方法后,本部分将进一步探讨一些进阶主题和机器学习的最佳实践,帮助读者提升技能水平,应对更复杂的挑战。 模型集成与泛化能力提升: 除了随机森林和梯度提升,我们将介绍其他模型集成技术,如堆叠(Stacking),并探讨如何通过数据增强、正则化、早停等方法提升模型的泛化能力,避免过拟合。 超参数调优: 超参数对模型性能有着至关重要的影响。我们将介绍网格搜索(Grid Search)、随机搜索(Random Search)以及更高级的贝叶斯优化等超参数调优方法,并讲解如何使用Scikit-learn的GridSearchCV和RandomizedSearchCV进行实践。 特征工程的深入探讨: 特征工程是机器学习项目成功的关键。我们将更深入地探讨各种特征工程技术,包括创建交互特征、多项式特征,以及如何处理类别特征(如独热编码、标签编码)、数值特征(如标准化、归一化)以及时间序列特征。 异常检测: 介绍如何识别数据中的异常值,这在金融欺诈检测、工业故障诊断等领域具有重要意义。 推荐系统基础: 简要介绍协同过滤、基于内容的推荐等推荐系统的基本原理,并讲解其在电商、内容平台等场景的应用。 机器学习的可解释性 (XAI): 随着模型复杂度的提高,理解模型为何做出某个预测变得越来越重要。我们将介绍一些可解释性技术,如SHAP和LIME,帮助读者理解模型的决策过程。 机器学习项目的生命周期管理: 讨论在实际项目中如何进行版本控制、实验跟踪、模型部署与监控,以及模型更新策略。 道德与偏见问题: 探讨机器学习模型可能存在的偏见问题,以及如何识别和缓解这些偏见,确保模型的公平性和伦理性。 本书在每个章节都配有丰富的代码示例,读者可以通过实际操作来加深理解。同时,书中还包含了一些练习题,帮助读者检验学习成果。无论您是机器学习领域的初学者,还是希望系统梳理和提升机器学习实践技能的开发者,本书都将是您不可或缺的学习伴侣。通过本书的学习,您将能够自信地运用Python和各种机器学习算法来解决实际问题,并在不断发展的机器学习领域中取得进步。
我是一名希望提升数据可视化能力的数据分析师,一直希望找到一本能够帮助我更有效地展示数据洞察的书籍。《Python机器学习实践指南》这个书名,虽然听起来偏重于机器学习,但我相信其中关于数据处理和模型结果可视化的部分,对我来说会非常重要。我之前接触过一些数据可视化工具,但总觉得在将复杂的模型结果以清晰、直观的方式呈现给非技术背景的受众时,遇到了瓶颈。我期待这本书能够提供关于如何使用Python库,如Matplotlib、Seaborn或Plotly,来创建各种类型的图表,包括但不限于散点图、折线图、柱状图、热力图等。更重要的是,我希望它能够教我如何根据不同的分析目的,选择最合适的可视化方法,以及如何通过精心的设计,让数据图表更具吸引力和说服力。如果书中能够提供一些关于如何将机器学习模型的预测结果、性能评估指标等可视化呈现的示例,那就太棒了。我希望这本书能够帮助我提升数据分析的最终环节——如何有效地将分析成果转化为易于理解的视觉语言,从而更好地支持决策。