当前位置: 首页 > 科技观察

如何使用Python机器学习提高你的编程技能

时间:2023-03-16 01:56:40 科技观察

在本文中,我将介绍Packt的Python机器学习,第3版,对于已经具有ML和数据科学基础知识的开发人员来说,这是一本优秀的书籍。H.掌握数学和编程技能Python机器学习不适合业余爱好者。作者假设您有可靠的Python命令。本书使用了一些高级列表和集合功能。(非常感谢)还有面向对象的编程技术,允许您为机器学习程序使用可重用的组件。您还需要具备NumPy、Pandas和Matplotlib等数据科学库的基本知识,尽管本书更详细地介绍了它们的功能。除非你有一些数据科学、微积分和统计学的基础知识,否则你会发现Python机器学习有点复杂和令人困惑。数学比入门书要复杂得多。你会发现很多关于损失函数、正则化函数、感知器、神经网络等的微积分公式。但是MachineLearninginPython的作者通过示例和分步编码经验很好地解释了这些公式。这些示例使更广泛的读者可以访问内容,并将本书与为学术读者编写的教科书区分开来。还有许多相关论文的参考资料提供了对不同机器学习和深度学习概念的深入解释,如果您想使用Python进一步扩展机器学习知识,这将非常有用。一些面向对象对机器学习的热爱大多数机器学习和数据科学书籍都侧重于编写结构化代码,并依赖于在示例之间复制和粘贴代码。另一方面,Python机器学习引入了面向对象的概念来创建干净且可重用的代码,这是我非常喜欢的。当然,对于不熟悉继承、抽象和多态性等概念的开发人员来说,OOP的介绍会使本书变得复杂。但很有可能,如果你想成功构建机器学习应用程序,你需要OOP技能。Python机器学习还提供了sklearn强大的层次分解。这将帮助您更好地理解和利用您将在机器学习项目中经常使用的Python库之一的功能。机器学习的DIY方法Python机器学习真正吸引人的地方之一是对机器学习库的一些基本组件采取自己动手的方法。您可以从头开始创建自己的感知器类,这让您对神经网络的工作原理有一个非常扎实的理解。稍后,您将在感知器组件的基础上学习其他神经网络概念,例如随机梯度下降(SGD)、反向传播和卷积。我看过几本解释神经网络工作原理的书籍和课程,但这是迄今为止我所见过的最全面、最实用的文本。您还可以重新创建一些基本的机器学习算法,例如主成分分析(PCA),这可以帮助您更好地掌握算法的每个超参数的效果。您在本书中构建的自定义算法效率不高,仅用于教育目的。Python机器学习的作者随后在Scikit-learn和TensorFlow中引入了这些算法的等价物。您将在Python机器学习中发现的另一个重要功能是一章,该章将引导您完成将机器学习算法集成到实际应用程序中的过程。您将在后端创建一个由机器学习算法提供支持的Web应用程序。公平地说,该应用程序很粗糙,但重点是展示这些不同的部分如何组合在一起,而作者在这方面做得很好。丰富的机器学习和深度学习算法评估机器学习书籍时要考虑的一件事是您想要探索的算法名册。在这方面,Python机器学习并没有让人失望。它向您介绍基本的监督和非监督机器学习算法,例如线性和逻辑回归、支持向量机、决策树和随机森林,以及k均值聚类。除此之外,它还添加了一些讨论较少的算法,如凝聚聚类和DBSCAN。其中大部分内容可能与您在介绍性数据科学和机器学习书籍中已经阅读的内容重叠,但Python机器学习为每个主题带来的深度非常受欢迎。Python机器学习还将带您了解一些入门书籍中没有的算法和功能,例如使用mlextend可视化不同数据集的特征之间的相关性或对回归模型进行综合评估。本书的深度学习部分提供了大量有用的理论材料和不同类型神经网络的实践经验。您将使用TensorFlow和Keras处理完全连接、循环和卷积神经网络。这本书包含一个完整的部分,直观地解释了TensorFlow组件背后的逻辑,这是一个经常难以引起您注意的主题。与本书的其余部分一样,深度学习部分是示例驱动的。到本书结束时,您将可以使用一些高级结构,例如转换器和生成对抗网络。还有一个介绍强化学习的章节,您将在其中使用流行的OpenAIGym库。有点令人失望的是自然语言处理的RNN部分,示例代码突然结束,没有测试模型的部分。总结与之前的版本一样,《使用Python进行机器学习》第三版是一本非常适合已经精通机器学习和数据科学基础知识的开发人员的好书。它不会让你成为机器学习和深度学习专家,准备好赚取六位数的薪水,但它肯定会为机器学习中更高级的探索奠定基础。下一步是什么?根据您感兴趣的领域,我建议您选择专门针对计算机视觉、自然语言处理或强化学习的书籍或课程。