毕业论文
您现在的位置: 语言识别 >> 语言识别优势 >> 正文 >> 正文

学习笔记,从NumPy到Scrapy,学

来源:语言识别 时间:2023/5/7
关爱白癜风儿童 http://m.39.net/pf/a_4503462.html

在网络上看到几位前辈写了关于python深度学习库的文章,对于小小白来说,因为我刚开始学python,我得承认自己看完后依然觉得云里雾里的,不知道这些库到底对我有什么用处。所以我到网络上搜集补充关于这些库的说明内容,感觉在这个整理资料的过程中,对于这些python程序库了解了更多,以下是我整理的学习笔记。

一、核心库与统计

1.NumPy

numpy(NumericalPythonextensions)是一个第三方的Python包,用于科学计算。其前身是年就开始开发的一个用于数组运算的库。经过了长时间的发展,基本上成了绝大部分Python科学计算的基础包,当然也包括所有提供Python接口的深度学习框架。NumPy作为一个通用的数组处理包,常用于有效地操作任意记录的大型多维数组,而不会为小型多维数组牺牲太多的速度。此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!NumPy构建在Numeric代码库上,并添加了numarray引入的特性、扩展的C-API以及创建任意类型数组的能力,这也使得NumPy适合与通用数据库应用程序进行接口。

numpy库可以用来存储和处理大型矩阵,并且在一定程度上弥补了python在运算效率上的不足,正是因为numpy的存在使得python成为数值计算领域的一大利器;

2.SciPy

SciPy和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算,所以可以说是基于Numpy之上了。它通过向用户提供用于操作和可视化数据的高级命令和类,为交互式Python会话添加了强大的功能。SciPy函数库在NumPy库的基础上增加了众多的数学、科学以及工程计算中常用的库函数,包括数值积分、最优化、统计和一些专用函数。包含了帮助解决线性代数、概率论、积分计算、信号处理、图像处理、稀疏矩阵等许多其他任务的工具。此外,SciPy还封装了许多新的BLAS和LAPACK函数。

3.Pandas

Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。Pandas的名称来自于面板数据(paneldata)和python数据分析(dataanalysis)。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。

pandas的主要功能:具备对齐功能的数据结构DataFrame、Series、集成时间序列功能、提供丰富的数学运算和操作、灵活处理缺失数据。

4.StatsModels

statsmodels是python中用于统计计算的模块,包含统计模型、统计测试和统计数据挖掘功能。它提供对许多不同统计模型估计的类和函数,并且可以进行统计测试和统计数据的探索。对每一个模型都会生成一个对应的统计结果。统计结果会和现有的统计包进行对比来保证其正确性。

Pandas专注于数据读取、处理和探索。而StatsModels专注于数据的统计建模分析,使得Python有了一点R语言的味道。StatsModels支持和Pandas的交互是Python数据挖掘中的一对利刃组合。

二、可视化

5.Matplotlib

Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表。Matplotlib最早是为了可视化癫痫病人的脑皮层电图相关的信号而研发,因为在函数的设计上参考了MATLAB,所以叫做Matplotlib。Matplotlib首次发表于年,在开源和社区的推动下,现在在基于Python的各个科学计算领域都得到了广泛应用。Matplotlib的原作者JohnD.Hunter博士是一名神经生物学家,年不幸因癌症去世,感谢他创建了这样一个伟大的库。Matplotlib非常强大,不过在深度学习中常用的其实只有很基础的一些功能,借助它的帮助,您可以构建各种图表,从直方图和散点图到非笛卡尔坐标图。此外,许多流行的绘图库被设计为与matplotlib一起使用。

6.Seaborn

Seaborn是一种基于matplotlib的Python绘图工具库。Seaborn其实是在matplotlib的基础上进行了更高级的API封装。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的,信息量大的统计图表。用Matplotlib最大的困难是其默认的各种参数,而Seaborn则完全避免了这一问题。一般来说,seaborn能满足数据分析90%的绘图需求,够用了,如果需要复杂的自定义图形,还是要Matplotlib。应该把Seaborn视为matplotlib的补充,而不是替代物

散点图矩阵

线性回归

7.Plotly

Plotly是一个流行的库,它可以让你轻松构建复杂的图形。该软件包适用于交互式Web应用程,可实现轮廓图、三元图和三维图等视觉效果。

8.Bokeh

Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库。Bokeh库使用JavaScript小部件在浏览器中创建交互式和可缩放的可视化。该库提供了多种图表集合,样式可能性(stylingpossibilities),链接图、添加小部件和定义回调等形式的交互能力,以及许多更有用的特性。这是Bokeh与其它可视化库最核心的区别。

Bokeh的优势:

Bokeh允许你通过简单的指令就可以快速创建复杂的统计图,

Bokeh提供到各种媒体,如HTML,Notebook文档和服务器的输出

我们也可以将Bokeh可视化嵌入flask和django程序

Bokeh可以转换写在其它库(如matplotlib,seaborn和ggplot)中的可视化

Bokeh能灵活地将交互式应用、布局和不同样式选择用于可视化

Bokeh面临的挑战:

与任何即将到来的开源库一样,Bokeh正在经历不断的变化和发展。所以,你今天写的代码可能将来并不能被完全再次使用。

与D3.js相比,Bokeh的可视化选项相对较少。而且Bokeh过于依赖python的数值计算库,并非一个纯前端的框架,使得它的使用范围也小于D3.js。而在纯python的数值计算领域,也已经有matplotlib这种提供了与Matlab一模一样的接口的数据可视化库,Bokeh的适用场景也并不多。

但是,它非常适合嵌入Flask或者Django的程序中,非常好用,速度也很快。

9.Pydot

Pydot是一个用于生成复杂的定向图和无向图的库。它是用纯Python编写的Graphviz接口。在它的帮助下,可以显示图形的结构,这在构建神经网络和基于决策树的算法时经常用到。

三、机器学习

10.Scikit-learn

这个基于NumPy和SciPy的Python模块是处理数据的最佳库之一。它为许多标准的机器学习和数据挖掘任务提供算法,如聚类、回归、分类、降维和模型选择。利用DataScienceSchool提高你的技能。

11.XGBoost/LightGBM/CatBoost

梯度增强算法是最流行的机器学习算法之一,它是建立一个不断改进的基本模型,即决策树。因此,为了快速、方便地实现这个方法而设计了专门库。就是说,我们认为XGBoost、LightGBM和CatBoost值得特别

转载请注明:http://www.0431gb208.com/sjszjzl/4505.html

  • 上一篇文章:
  • 下一篇文章: 没有了