BNEG 模型的 Python 逐步回归

问题描述 投票:0回答:0

我正在尝试为这个回归模型选择最佳特征。

这是数据框的样子:

df = pd.DataFrame({
    'ga:productAddsToCart': [2, 2, 4, 2],
    'ga:mobileDeviceModel_(not set)': [True, False, False, False],
    'ga:mobileDeviceModel_2109119DG': [False, True, False, False],
    'ga:mobileDeviceModel_2201117SG': [False, False, True, False],
    'ga:mobileDeviceModel_2201117TG': [False, False, False, True],
    'ga:mobileDeviceModel_2201117TL': [False, False, False, False],
    'ga:mobileDeviceModel_2811': [False, False, False, False],
    'ga:mobileDeviceModel_5.4': [False, False, False, False],
    'ga:mobileDeviceModel_5085J': [False, False, False, False],
    'ga:mobileDeviceModel_A11': [False, False, False, False],
    'ga:source_l.instagram.com': [False, False, False, False],
    'ga:source_l.wl.co': [False, False, False, False],
    'ga:source_linkedin.com': [False, False, False, False],
    'ga:source_linktr.ee': [False, False, False, False],
    'ga:source_m.facebook.com': [False, False, False, False],
    'ga:source_mercadopago.com.br': [False, False, False, False],
    'ga:source_naturus.com.br': [False, False, False, False],
    'ga:source_ofertadia.com.br': [False, False, False, False],
    'ga:source_pinterest.com': [True, False, False, False],
    'ga:source_youtube.com': [False, False, False, False],
})

数据框包含大约 917 个单热编码特征(列),我只需要选择具有统计意义的特征。

这是我试过的代码:

1# 分离 X 和 y:

X = df.drop("ga:productAddsToCart", axis=1)
X = X.astype(int)
y = df["ga:productAddsToCart"]

2# 运行模型

model = sm.NegativeBinomial(df['ga:productAddsToCart'], df.drop('ga:productAddsToCart', axis=1))

3# 特征选择

seletor_forward = SequentialFeatureSelector(clone(model), forward=True, scoring='neg_mean_squared_error')

seletor_forward.fit(X, y)


plot_sequential_feature_selection(seletor_forward.get_metric_dict())

此代码返回错误: 类型错误:无法克隆对象“”(类型):它似乎不是 scikit-learn 估计器,因为它没有实现“get_params”方法。

python scikit-learn statistics regression statsmodels
© www.soinside.com 2019 - 2024. All rights reserved.