这是一个相当直截了当的问题,我知道有些人会倾向于给出一个-1,但请让我更好地解释。
互联网上的大多数状态模型教程(如这、这和这)通常创建线性回归,而不将数据集分解为训练和测试。他们使用这个新税建立了一个线性回归:
import statsmodels.formula.api as sm
sm.ols('y~x1+x2+x3', data=df).fit()没有必要说在没有测试数据集的情况下构建模型有多危险。
我在这里的问题是,如何用状态模型创建线性回归,使用训练和测试拆分?
在搜索了很多之后,我发现了这样的方法:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
features, target, train_size=0.8, random_state=42
)
import statsmodels.api as sm
smfOLS = smf.OLS(X_train, y_train).fit()但是,我得到了这个错误:
AttributeError: module 'statsmodels.formula.api' has no attribute 'OLS'我知道我应该提供一个数据集,但不幸的是,我正在处理机密数据。但是,您拥有的任何数据集都应该足够了解情况。
发布于 2021-08-26 17:09:00
尝尝这个,
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
features, target, train_size=0.8, random_state=42
)
import statsmodels.api as sm
smfOLS = sm.OLS(y_train, X_train).fit()https://stackoverflow.com/questions/68942717
复制相似问题