patsy的简介
Patsy是一个python库,用于描述统计模型(尤其是线性模型,或具有线性组件的模型)和构建设计矩阵。Patsy为python带来了r“formulas”的便利。它受到R和S中使用的公式迷你语言的启发并与之兼容。
patsy is a Python package for describing statistical models (especially linear models, or models that have a linear component) and building design matrices. It is closely inspired by and compatible with the formula mini-language used in R and S.
利用Patsy创建模型描述 Patsy是一个python库,用于描述统计模型(尤其是线性模型),方法是通过一个叫做公式语法(formula syntax)的字符串来描述。这种公式语法的灵感来源于R和S语言中的公式语法。
Patsy的公式是有特殊格式的字符串,像下面这样: y ~ x0 + x1 这种a + b的语法并不代表将a和b相加,而是代表为模型创建的设计矩阵的术语(terms in the design matrix)。patsy.dmatrices函数,取一个公式字符串和一个数据集(可以使DataFrame或dict),然后为线性模型产生设计矩阵。
patsy文档:patsy - Describing statistical models in Python
patsy的安装
pip install patsy
patsy的使用方法
patsy.dmatrices("y ~ x + a + b + a:b", data)
1、patsy.dmatrices函数,取一个公式字符串和一个数据集(可以使DataFrame或dict),然后为线性模型产生设计矩阵。
data = pd.DataFrame({'x0': [1, 2, 3, 4, 5],
'x1': [0.01, -0.01, 0.25, -4.1, 0.],
'y': [-1.5, 0., 3.6, 1.3, -2.]})
print(data)
y, X = patsy.dmatrices('y ~ x0 + x1', data)
print(y)
x0 x1 y
0 1 0.01 -1.5
1 2 -0.01 0.0
2 3 0.25 3.6
3 4 -4.10 1.3
4 5 0.00 -2.0
[[-1.5]
[ 0. ]
[ 3.6]
[ 1.3]
[-2. ]]