2

我收到以下ols函数的位置参数错误statsmodels.formula.api

已尝试statsmodels.regression.linear_model并更改OLSols,反之亦然。

import statsmodels.regression.linear_model as sm

X = np.append(arr=np.ones((50,1)).astype(int),values=X,axis=1)

X_opt = X[:,[0,1,2,3,4,5]]

regressor_OLS = sm.ols(endog = Y, exog = X_opt).fit()

预期输出是回归模型的拟合。但是我收到了这个错误:

from_formula() 缺少 2 个必需的位置参数:“公式”和“数据”

4

7 回答 7

3

为了让这个示例正常工作(我假设您正在运行 udemy 机器学习课程,这是本示例中的一行一行),我必须更改导入语句。他们使用的库不再是 OLS 函数所在的位置。

import statsmodels.regression.linear_model as lm

然后

regressor_ols = lm.OLS(endog = y, exog = x_optimal).fit()
于 2019-09-24T14:25:00.277 回答
1

这应该工作:

import statsmodels.api as smf;

X = np.append(arr=np.ones((50,1),dtype=np.int), values = X,axis = 1)

X_opt = X[:,[0,1,2,3,4,5]]

regressor_ols = smf.OLS(y,X_opt).fit()
于 2019-09-19T18:51:11.720 回答
0

伙计们,这个模块是 Linear_model 类的一部分,因此请使用以下代码使其工作。

import statsmodels.regression.linear_model as lm
X = np.append(arr=np.ones((50,1)).astype(int),values=X,axis=1)

X_opt = X[:,[0,1,2,3,4,5]]

regressor_OLS = lm.OLS(endog = y, exog = X_opt).fit()
于 2020-01-15T22:20:03.387 回答
0

使用import statsmodels.regression.linear_model as lmimport statsmodels.api as sm

import statsmodels.regression.linear_model as lm

X=np.append(arr=np.ones((50,1)).astype(int), values=X, axis=1)
X_opt=X[:,[0, 1, 2, 3, 4, 5]]
regressor_x=sm.OLS(endog=y, exog=X_opt).fit()
regressor_x.summary()
于 2020-03-01T05:56:12.360 回答
0

这个对我有用

import statsmodels.api as sm

X=np.insert(X,0,np.ones(X.shape[0]),axis=1)

colList=list()

for i in range(X.shape[1]):
    colList.append(i)

X_opt=np.array(X[:, colList], dtype=float)

regressor_OLS=sm.OLS(endog=y,exog=X_opt).fit()
于 2020-11-20T18:06:34.413 回答
0

消除

import statsmodels.regression.linear_model as sm

只需导入statsmodels.api如下

import statsmodels.api as sm

这门课程已经很老了,这就是为什么代码片段已经过时了,不知道他们为什么不再更新它。

于 2020-01-10T10:01:58.373 回答
0

解决方案1:

import statsmodels.api as sm
x = np.append(arr= np.ones((50, 1)).astype(int), values= x, axis=1)
x_opt = x[:, [0,1,2,3,4,5]]
regressor_OLS = sm.OLS(endog=y, exog=x_opt).fit()

解决方案2:

import statsmodels.regression.linear_model as lm
x = np.append(arr= np.ones((50, 1)).astype(int), values= x, axis=1)
x_opt = x[:, [0,1,2,3,4,5]]
regressor_ols = lm.OLS(endog=y, exog=x_opt).fit()
于 2020-11-28T01:36:16.953 回答