擅长:python、mysql、java
<p>这里有两种方法——不令人满意,特别是因为一旦回归开始,变量标签似乎就消失了:</p>
<pre><code>import statsmodels.api as sm
import pandas as pd
import statsmodels.formula.api as smf
mtcars = sm.datasets.get_rdataset("mtcars", "datasets", cache=True).data
df = pd.DataFrame(mtcars)
import numpy as np
from sklearn.linear_model import LinearRegression
</code></pre>
<p>单变量回归mpg(i.v.)~hp(d.v.):</p>
<pre><code>lm = LinearRegression()
mat = np.matrix(df)
lmFit = lm.fit(mat[:,3], mat[:,0])
print(lmFit.coef_)
print(lmFit.intercept_)
</code></pre>
<p>对于多元回归drat~wt+cyl+carb:</p>
<pre><code>lmm = LinearRegression()
wt = np.array(df['wt'])
cyl = np.array(df['cyl'])
carb = np.array(df['carb'])
stack = np.column_stack((cyl,wt,carb))
stackmat = np.matrix(stack)
lmFit2 = lmm.fit(stackmat,mat[:,4])
print(lmFit2.coef_)
print(lmFit2.intercept_)
</code></pre>