北京治青春痘的好医院 http://baidianfeng.39.net/a_bdfys/210313/8743253.htmlPython之于机器学习,可以说是最为锋利的武器;而机器学习之于Python,则有着扩大影响再造辉煌的助力。二者相辅相成,以至于一提到机器学习,人们自然而然地就想到了Python,虽然有些狭隘,但是背后也有其存在的必然性!本篇我们就来介绍最为重要的10个Python机器学习相关的第三方库,一般是组合使用,初学者建议收藏~一、TensorFlow1.什么TensorFlow如果你目前正在使用Python进行机器学习项目,那么必然会听说过这个流行的开源库TensorFlow。该库由Google与BrainTeam合作开发,TensorFlow几乎是所有Google机器学习应用程序的一部分。TensorFlow就像一个计算库,用于编写涉及大量张量操作的新算法,因为神经网络可以很容易地表示为计算图,它们可以使用TensorFlow作为对张量的一系列操作来实现。另外,张量是代表数据的N维矩阵,是机器学习的重要概念。2.TensorFlow的特点TensorFlow针对速度进行了优化,它利用XLA等技术进行快速线性代数运算。响应式构造:使用TensorFlow,我们可以轻松地可视化图表的每一部分,而这在使用Numpy或SciKit时是不太可能的。灵活:Tensorflow非常重要的功能之一是它的可操作性非常灵活,这意味着它具有很高的模块化功能,并且也为我们提供了独立制作某些功能的选项。易于训练:它很容易在CPU和GPU上进行训练以进行分布式计算。并行神经网络训练:从某种意义上说,TensorFlow提供了流水线,我们可以在多个GPU上训练多个神经网络,这使得模型在大规模系统上非常高效。庞大的活跃社区:因为它是由谷歌开发的,那么已经有一个庞大的软件工程师团队不断致力于稳定性改进,其开发者社区非常活跃,你不是一个人在战斗。开源:这个机器学习库最好的一点是它是开源的,所以只要有互联网网络,任何人就都可以使用它。二、Scikit-Learn1.什么是Scikit-learn它是一个与NumPy和SciPy相关联的Python库,它被认为是处理复杂数据的最佳库之一。在这个库中进行了很多优化改动,其中一项是交叉验证功能,提供了使用多个指标的能力。许多训练方法,如逻辑回归和最近邻,都得到了一些小的改进与优化。2.Scikit-Learn的特点交叉验证:有多种方法可以检查监督模型在未见数据上的准确性。无监督学习算法:产品中的算法种类繁多,包括聚类、因子分析、主成分分析,无监督神经网络。特征提取:用于从图像和文本中提取特征(例如词袋)。三、Numpy1.什么是NumpyNumpy被认为是Python中最流行的机器学习库之一。TensorFlow和其他库都在内部使用Numpy对张量执行多项操作,数组接口是Numpy最好也是最重要的特性。2.Numpy的特点交互的:Numpy是可交互的且非常易于使用。数学计算:可以使复杂的数学实现变得非常简单。直观:使编码变得真正容易,并且容易掌握概念。开源:使用广泛,因此有很多开源贡献者。四、Keras1.什么是KerasKeras被认为是Python中最酷的机器学习库之一,它提供了一种更简单的机制来表达神经网络。Keras还提供了一些用于编译模型、处理数据集、图形可视化等最佳实用程序。在后端,Keras在内部使用Theano或TensorFlow。也可以使用一些最流行的神经网络,如CNTK。当我们将Keras与其他机器学习库进行比较时,它的速度相对较慢。因为它通过使用后端基础设施创建计算图,然后利用它来执行操作。Keras中的所有模型都是可移植的。2.Keras的特点支持CPU和GPU:它可以在CPU和GPU上流畅运行。模型全面:Keras支持神经网络的几乎所有模型——全连接、卷积、池化、循环、嵌入等。此外,这些模型可以组合起来构建更复杂的模型。模块化:Keras本质上是模块化的,具有令人难以置信的表现力、灵活性和创新性研究能力。完全基于Python:Keras是一个完全基于Python的框架,易于调试和探索。五、PyTorch1.什么是PyTorchPyTorch是最大的机器学习库,允许开发人员在GPU加速的情况下执行张量计算,创建动态计算图,并自动计算梯度。除此之外,PyTorch还提供了丰富的API来解决与神经网络相关的应用程序问题。这个机器学习库基于Torch,它是一个用C语言实现的开源机器库,并在Lua中进行了封装。这个Python机器库于年推出,自成立以来,该库越来越受欢迎并吸引了越来越多的机器学习开发人员。2.PyTorch的特点混合前端:新的混合前端在Eager模式下提供易用性和灵活性,同时无缝过渡到图形模式以在C++运行时环境中实现速度、优化和功能。分布式训练:通过利用对异步执行集体操作和可从Python和C++访问的点对点通信的本机支持来优化研究和生产中的性能。Python优先:它被构建为深度集成到Python中,因此可以与流行的库和包(例如Cython和Numba)一起使用。众多库和工具:活跃的研究人员和开发人员社区建立了丰富的工具和库生态系统,用于扩展PyTorch并支持从计算机视觉到强化学习等领域的开发。六、LightGBM1.什么是LightGBMGradientBoosting是最好和最受欢迎的机器学习库之一,它通过使用重新定义的基本模型(即决策树)帮助开发人员构建新算法。因此,有一些特殊的库可用于快速有效地实现此方法。这些库是LightGBM、XGBoost和CatBoost。所有这些库都是有助于解决常见问题,并且可以以几乎类似的方式使用。2.LightGBM的特点快速:非常快速的计算确保了高生产效率。直观:直观,因此对于用户非常友好。训练更快:有比许多其他深度学习库更快的训练速度。容错:考虑NaN值和其他规范值时不会产生错误。七、Eli51.什么是Eli5大多数情况下,机器学习模型预测的结果并不准确,而使用Python构建的Eli5机器学习库有助于克服这一问题。它结合了可视化和调试所有机器学习模型并跟踪算法的所有工作步骤。2.Eli5的特点Eli5还支持很多库,例如XGBoost、lightning、scikit-learn和sklearn-crfsuite等。八、SciPy1.什么是SciPySciPy是一个面向应用程序开发人员和工程师的机器学习库。SciPy库包含用于优化、线性代数、积分和统计的模块。2.SciPy的特点SciPy库的主要特点是它是使用NumPy开发的,它的数组最大限度地利用了NumPy。此外,SciPy使用其特定的子模块提供所有高效的数值例程,如优化、数值积分和许多其他程序。SciPy的所有子模块中的所有功能都有很好的文档记录。九、Theano1.什么是TheanoTheano是Python中用于计算多维数组的计算框架机器学习库。Theano的工作原理与TensorFlow类似,但不如TensorFlow高效,因此它无法适应生产环境。此外,Theano还可以用于类似于TensorFlow的分布式或并行环境。2.Theano的特点与NumPy紧密集成:能够在Theano编译的函数中使用完整的NumPy数组。高效的使用GPU:执行数据密集型计算的速度比在CPU上快得多。高效的符号微分:Theano可以为具有一个或多个输入的函数求导。速度和稳定性优化:即使x非常小,也可以获得log(1+x)的正确答案。当然这只是展示Theano稳定性的示例之一。动态C代码生成:比以往更快地评估表达式,从而大大提高效率。广泛的单元测试和自我验证:检测和诊断模型中的多种类型的错误和歧义。十、Pandas1.什么是PandasPandas是Python中的机器学习库,提供高级数据结构和各种分析工具。这个库的一大特点是能够使用一两个命令来转换复杂的数据操作。Pandas具有许多用于分组、组合数据和过滤的内置方法,以及时间序列功能。2.Pandas的特点Pandas使得操作数据的整个过程变得更加容易,对重新索引、迭代、排序、聚合、连接和可视化等操作的支持是Pandas的功能亮点之一。
转自:大数据与机器学习文摘
加入交流群
对交通/计算机/土木/汽车这些方向感兴趣,或者这些领域的从业人员,都可以加入。
加群的人先加一下我
转载请注明:http://www.aierlanlan.com/rzdk/643.html