Python建模库介绍


Python建模库介绍

专注于提供一个用Python做数据分析的编程基础。因为数据分析师和科学家经常在数据规整和准备上花费大量的时间,本文的结构反映了精通这些技术的重要性。

使用哪个库进行模型开发取决于应用。很多统计上的难题可以通过更简单的技术,例如最小二乘回归等方法,来解决,但另外一些问题可能需要用到高阶的机器学习方法。幸运的是Python已经成为实现分析方法的语言选择之一,因此在完成学习后可以探索很多工具的使用。

在本章,将回顾pandas的一些特性,这些特性可能会在使用pandas进行模型训练和评分时有用。介绍两个流行的建模工具包——scikit-learn和statsmodels。

scikit-learn介绍

就像用于数据操作的Pandas和用于可视化的matplotlib一样,scikit-learn是Python构建模型中的佼佼者。没有什么能与之媲美。

事实上,scikit-learn建立在NumPy,SciPy和matplotlib之上。它是开放源码的,每个人都可以访问,并且可以在各种环境中重用。

scikit-learn支持在机器学习中执行的不同操作,如分类、回归、聚类和模型选择等。

statsmodels是一个有很多统计模型的python库,能完成很多统计测试,数据探索以及可视化。它也包含一些经典的统计方法,比如贝叶斯方法和一个机器学习的模型。

scikit-learn是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)等方法。scikit-learn具有以下特点:

  1. 简单高效的数据挖掘和数据分析工具
  2. 让每个人能够在复杂环境中重复使用
  3. 建立NumPy、Scipy、MatPlotLib之上

statsmodels介绍:

statsmodels是一个有很多统计模型的python库,能完成很多统计测试,数据探索以及可视化。它也包含一些经典的统计方法,比如贝叶斯方法和一个机器学习的模型。

  1. 线性模型,广义线性模型,鲁棒线性模型
  2. 线性混合效应模型(Linear mixed effects models)
  3. 方差分析(ANOVA)方法(Analysis of variance (ANOVA) methods)
  4. 时间序列处理(Time series processes)和状态空间模型(state space models)
  5. 广义矩估计方法(Generalized method of moments)

由于这两个项目每个都大到可以单独成书,不再尝试完整地介绍,而是像其他基于Python的数据科学、统计学和机器学习的书籍一样,直接进入到项目的官方在线文档。