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具有以下特点:
简单高效的数据挖掘和数据分析工具
让每个人能够在复杂环境中重复使用
建立NumPy、Scipy、MatPlotLib之上
statsmodels介绍:
statsmodels是一个有很多统计模型的python库,能完成很多统计测试,数据探索以及可视化。它也包含一些经典的统计方法,比如贝叶斯方法和一个机器学习的模型。
线性模型,广义线性模型,鲁棒线性模型
线性混合效应模型(Linear mixed effects models)
方差分析(ANOVA)方法(Analysis of variance (ANOVA) methods)
时间序列处理(Time series processes)和状态空间模型(state space models)
广义矩估计方法(Generalized method of moments)
由于这两个项目每个都大到可以单独成书,不再尝试完整地介绍,而是像其他基于Python的数据科学、统计学和机器学习的书籍一样,直接进入到项目的官方在线文档。