使用PySpark构建机器学习模型、自然语言处理应用程序以及推荐系统,从而应对各种业务挑战。本书首先介绍Spark的基础知识,然后讲解使用PySpark构建传统机器学习算法以及自然语言处理和推荐系统的全部知识点。
本书阐释了如何构建有监督机器学习模型,比如线性回归、逻辑回归、决策树和随机森林,还介绍了无监督机器学习模型,比如K均值和层次聚类。本书重点介绍特征工程,以便使用PySpark创建有用的特征,从而训练机器学习模型。自然语言处理的相关章节将介绍文本处理、文本挖掘以及用于分类的嵌入。
在阅读完本书之后,读者将了解如何使用PySpark的机器学习库构建和训练各种机器学习模型。此外,还将熟练掌握相关的PySpark组件,从而进行数据获取、数据处理和数据分析,开发数据驱动的智能应用。
使用PySpark构建机器学习模型、自然语言处理应用程序以及推荐系统,从而应对各种业务挑战。该书首先介绍Spark的基础知识及其演进,然后讲解使用PySpark构建传统机器学习算法以及自然语言处理和推荐系统的全部知识点。 《PySpark机器学习、自然语言处理与推荐系统》阐释如何构建有监督机器学习模型,比如线性回归、逻辑回归、决策树和随机森林,还介绍了无监督机器学习模型,比如K均值和层次聚类。该书重点介绍特征工程,以便使用PySpark创建有用的特征,从而训练机器学习模型。自然语言处理的相关章节将介绍文本处理、文本挖掘以及用于分类的嵌入。 在阅读完该书后,读者将了解如何使用PySpark的机器学习库构建和训练各种机器学习模型。此外,还将熟练掌握相关的PySpark组件,比如数据获取、数据处理和数据分析,通过使用它们开发数据驱动的智能应用。
普拉莫德·辛格(Pramod Singh),是Publicis.Sapient公司数据科学部门的经理,目前正作为数据科学跟踪负责人与梅赛德斯奔驰的一个项目进行合作。他在机器学习、数据工程、编程,以及为各种业务需求设计算法方面拥有丰富的实践经验,领域涉及零售、电信、汽车以及日用消费品等行业。他在Publicis.Sapient主导了大量应对机器学习和AI的战略计划。他在孟买大学获得了电气与电子工程的学士学位,并且在印度共生国际大学获得了MBA学位f运营&财务),还在IIM - Calcutta(印度管理学院加尔各答分校)获得了数据分析认证。在过去八年中,他一直在跟进多个数据项目。在大量客户项目中,他使用R、Python、Spark和TensorFlow应用机器学习和深度学习技术。他一直是各重大会议和大学的演讲常客。他会在Publicis.Sapient举办数据科学聚合并且定期出席关于ML和AI的网络研讨会。他和妻子以及两岁的儿子居住在班加罗尔。闲暇的时候,他喜欢弹吉他、写代码、阅读以及观看足球比赛。
第1章 数据革命1.1 数据生成1.2 Spark1.2.1 Spark Core1.2.2 Spark组件1.3 设置环境1.3.1 Windows1.3.2 iOS1.4 小结第2章 机器学习简介2.1 有监督机器学习2.2 无监督机器学习2.3 半监督机器学习2.4 强化学习2.5 小结第3章 数据处理3.1 加载和读取数据3.2 添加一个新列3.3 筛选数据3.3.1 条件13.3.2 条件23.4 列中的非重复值3.5 数据分组3.6 聚合3.7 用户自定义函数(UDF)3,7.1 传统的Python函数3.7.2 使用lambda函数3.7.3 Pandas UDF(向量化的UDF)3.7.4 Pandas UDF(多列)3.8 去掉重复值3.9 删除列3.10 写入数据3.10.1 csv3.10.2 嵌套结构3.11 小结第4章 线性回归4.1 变量4.2 理论4.3 说明4.4 评估4.5 代码4.5.1 数据信息4.5.2 步骤1:创建SparkSession对象4.5.3 步骤2:读取数据集4.5.4 步骤3:探究式数据分析4.5.5 步骤4:特征工程化4.5.6 步骤5:划分数据集4.5.7 步骤6:构建和训练线性回归模型4.5.8 步骤7:在测试数据上评估线性回归模型4.6 小结第5章 逻辑回归5.1 概率5.1.1 使用线性回归5.1.2 使用Logit5.2 截距(回归系数)5.3 虚变量5.4 模型评估5.4.1 正确的正面预测5.4.2 正确的负面预测5.4.3 错误的正面预测5.4.4 错误的负面预测5.4.5 准确率5.4.6 召回率5.4.7 精度5.4.8 F1分数5.4.9 截断/阈值概率5.4.10 ROC曲线5.5 逻辑回归代码5.5.1 数据信息5.5.2 步骤1:创建Spark会话对象5.5.3 步骤2:读取数据集5.5.4 步骤3:探究式数据分析5.5.5 步骤4:特征工程5.5.6 步骤5:划分数据集5.5.7 步骤6:构建和训练逻辑回归模型5.5.8 训练结果5.5.9 步骤7:在测试数据上评估线性回归模型5.5.10 混淆矩阵5.6 小结……第6章 随机森林第7章 推荐系统
随着人工智能的兴起,与之相关的知识和技术越来越受大众所关注,神经网络、机器学习、深度学习、自然语言处理等专业术语也开始为大家所广泛探讨。现在市面上可用的大数据处理分析甚或人工智能框架很多,所以对于刚入门或者想要入门的新手而言,选择一款合适的框架作为起步学习之用是非常重要的。 作为目前处理和使用大数据的使用最广泛的框架之一,Spark已经被各大企业投入实际应用中。Spark是在Scala中设计的,以强大的处理速度和缓存能力见长,不过对于程序员来说,考虑到语法和标准库,Python相对来说更容易学习,而且Python是数据分析、机器学习等方面使用最广泛的编程语言之一。因此,为了支持Spark和Python,Apache Spark社区发布了PySpark,也就是说,PySpark是Spark的Python Shell。 本书首先将介绍机器学习和Spark,然后会结合大数据进一步详细讲解机器学习,进而通过示例展示如何使用PySpark构建推荐系统和NLP。虽然是一本与机器学习有关的专业技术书籍,但本书内容浅显易懂,对于刚开始接触PySpark并且想要系统地理解PySpark基础知识结构以及相关算法的读者而言,本书将会是很好的入门指南。 本书不仅涵盖与PySpark组件相关的知识,比如数据获取、数据处理和数据分析等,还讲解如何使用PySpark构建基础的机器学习算法和模型。相信在阅读完本书后,读者将获悉如何将PySpark用于工作实践之中,并且可以用来构建专业的人工智能应用。 在此要特别感谢清华大学出版社的编辑们,在本书翻译过程中他们提供了颇有助益的帮助,没有他们的热情付出,本书将难以付梓。 由于译者水平有限,难免会出现一些错误或翻译不准确的地方,如果读者能够指出并勘正,译者将不胜感激。