我将在数据集上应用负二项式回归模型,并使用交叉验证(K-Fold)检查模型分数以及特征的权重和显着性。这是应用 MinMax 缩放器后的数据框。w4 是一个分类变量。
data.head()
w1 w2 w3 w4 Y
0 0.17 0.44 0.00 2004 1
1 0.17 0.83 0.22 2004 0
2 0.00 1.00 0.34 2005 0
3 1.00 0.00 1.00 2005 1
4 1.00 0.22 0.12 2006 3
我使用以下代码来获取训练模型在测试数据集上的分数,但在处理模型的训练和测试数据集时似乎存在问题。如果有人可以提供帮助,我将不胜感激。
scores = []
kfold = KFold(n_splits=10, shuffle=True, random_state=1)
for train, test in kfold.split(data):
model = smf.glm(formula = "Y ~ w1 + w2 + w3 + C(w4)", data=X.iloc[train,:], family=sm.families.NegativeBinomial()).fit()
scores = scores.append(model.get_prediction(X.iloc[test,:])
print(scores)