芽筑说吧 关注:94贴子:1,861

<干货贴>20个有用的Python数据科学库

只看楼主收藏回复



1楼2018-08-09 17:23回复
    1. NumPy
    一般我们会将科学领域的库作为清单打头,NumPy 是该领域的主要软件库之一。它旨在处理大型的多维数组和矩阵,并提供了很多高级的数学函数和方法,因此可以用它来执行各种操作。
    在过去一年,开发团队对该库进行了大量改进。除了错误修复和解决兼容性问题之外,关键的变更还包括样式改进,即 NumPy 对象的打印格式。此外,一些函数现在可以处理任意编码的文件,只要这些编码受 Python 支持。


    2楼2018-08-09 17:24
    回复
      2. SciPy(提交:19150,贡献者:608)
      另一个科学计算核心库 SciPy,基于 NumPy 而构建,并扩展了 NumPy 的功能。SciPy 的主要数据结构是多维数组,使用 Numpy 实现。该库提供了一些用于解决线性代数、概率论、积分计算等任务的工具。
      SciPy 通过与不同的操作系统进行持续集成的方式带来了重大改进,比如新的函数和方法,更重要的是——最新的优化器。此外,开发团队对很多新的 BLAS 和 LAPACK 函数进行了包装。


      3楼2018-08-09 17:24
      回复
        3.Pandas
        Pandas 是一个 Python 库,提供了高级的数据结构和各种分析工具。该库的一大特色是能够将相当复杂的数据操作转换为一两个命令。Pandas 提供了很多内置的方法,用于分组、过滤和组合数据,还提供了时间序列功能。所有这些方法的执行速度都很快。
        新发布的 pandas 库还提供了数百个新特性、功能增强、错误修复和 API 变更。这些改进与 Pandas 对数据进行分组和排序的能力有关,支持自定义类型操作。


        4楼2018-08-09 17:25
        回复
          4. StatsModels
          Statsmodels 是一个 Python 模块,为统计数据分析提供了很多可能性,例如统计模型估计、运行统计测试等。你可以借助它来实现很多机器学习方法,并探索不同的绘图可能性。
          该库在不断演化,带来了更多的可能性。今年带来了时间序列改进和新的计数模型 GeneralizedPoisson、零膨胀模型和 NegativeBinomialP,以及新的多变量方法因子分析、MANOVA 和 ANOVA 的重复测量。


          5楼2018-08-09 17:26
          回复
            可视化
            5. Matplotlib
            Matplotlib 是一个用于创建二维图表和图形的低级库。你可以用它来构建各种图表,从直方图和散点图到非笛卡尔坐标图。此外,很多流行的绘图库都为 Matplotlib 预留了位置,可与 Matplotlib 结合在一起使用。
            该库在绘图样式方面做出了很多变更,如颜色、尺寸、字体、图例等。例如,坐标轴图例的自动对齐和对色盲患者更友好的色环


            6楼2018-08-09 17:26
            回复
              6. Seaborn
              Seaborn 实际上是基于 matplotlib 库构建的高级 API。它为处理图表提供了更恰当的默认选项。此外,它还提供了一组丰富的可视化图库,包括时间序列、联合图和小提琴图等复杂的类型。
              Seaborn 的更新主要是问题修复。不过,FacetGrid(或 PairGrid)与增强的交互式 matplotlib 后端之间的兼容性有所改进,为可视化添加了参数和选项。


              7楼2018-08-09 17:26
              回复
                7. Plotly
                Plotly 是一个可以帮助你轻松构建复杂图形的流行库。该库适用于交互式 Web 应用程序,它提供了很多很棒的可视化效果,包括轮廓图形、三元图和 3D 图表。
                这个库在持续地增强和改进,带来新的图形和特性,支持“多链接视图”、动画和串扰集成。


                8楼2018-08-09 17:27
                回复
                  8. Bokeh
                  Bokeh 库使用 JavaScript 小部件在浏览器中创建交互式和可伸缩的可视化图形。该库提供了多种图形、样式、链接图形式的交互能力、添加小部件、定义回调以及更多有用的功能。Bokeh 改进的交互式功能值得称赞,例如可旋转的分类刻度标签,以及小型的缩放工具和自定义工具提示字段增强。


                  9楼2018-08-09 17:27
                  回复
                    9. Pydot
                    Pydot 是一个用于生成面向复杂图形和非面向复杂图形的库。它作为面向 Graphviz 的一个接口,使用 Python 编写。我们可以借助它来显示图形的结构,这在构建神经网络和基于决策树的算法时经常会用到。


                    10楼2018-08-09 17:27
                    回复
                      机器学习
                      10. Scikit-learn
                      这个基于 NumPy 和 SciPy 的 Python 模块是处理数据的最佳库之一。它为很多标准的机器学习和数据挖掘任务提供算法,例如聚类、回归、分类、降维和模型选择。
                      该库有很多增强功能。交叉验证已经获得更新,现在可以使用多个指标。一些训练方法(如邻近取样和逻辑回归等)得到一些小改进。它的主要更新之一是完成了通用术语和 API 元素词汇表。


                      11楼2018-08-09 17:27
                      回复
                        12. Eli5
                        通常情况下,机器学习模型的预测结果并不完全是清晰的,这个时候可以借助 Eli5 来解决这个问题。它是一个用于可视化和调试机器学习模型的库,可以逐步跟踪算法的执行过程。它支持 scikit-learn、XGBoost、LightGBM、lightning 和 sklearn-crfsuite 库,并可以为每个库执行不同的任务。


                        12楼2018-08-09 17:29
                        回复
                          14. PyTorch
                          PyTorch 是一个大型框架,可用它基于 GPU 加速执行张量计算、创建动态计算图以及自动计算梯度。此外,PyTorch 还提供了丰富的 API,用于解决与神经网络相关的应用。
                          该库基于 Torch 而构建,使用 C 语言实现,并包含了使用 Lua 编写的包装器。它的 Python API 于 2017 年推出,从那时起,该框架越来越受欢迎,并吸引了越来越多的数据科学家。


                          14楼2018-08-09 17:29
                          回复
                            15. Keras
                            Keras 是一个用于处理神经网络的高级库,运行在 TensorFlow 或 Theano 之上,现在发布的新版本可以使用 CNTK 或 MxNet 作为后端。它简化了很多特定任务,并大大减少了样板代码的数量,但它可能不适用于某些复杂的事情。


                            15楼2018-08-09 17:29
                            回复
                              16. dist-keras/elephas/spark-deep-learning
                              深度学习问题变得越来越重要,因为越来越多的场景要求更多的时间和成本。而像 Apache Spark 这样的分布式计算系统可以更轻松地处理大量数据,这反过来又为深度学习带来更多的可能性。dist-keras、elephas 和 spark-deep-learning 变得越来越流行,并正在迅速发展演化。很难说它们当中哪个更好,因为它们都是为解决一些相同的任务而设计的。这些库和 Keras 可以直接用在 Apache Spark 中,用以训练神经网络。spark-deep-learning 还提供了工具用于为 Python 神经网络创建管道。


                              16楼2018-08-09 17:29
                              回复