1
我试图从一组特征X中预测变量y,其中X在起始处是36个特征。我有两个问题:Scikit - 布尔值和特征选择的多项式回归
- 如何在创建多项式特征时处理布尔属性(0,1)?例如,将它们排列在一起是没有意义的。
代码,我至今:
poly = PolynomialFeatures(degree=2)
X_ = poly.fit_transform(X_train)
- 如何使多项式回归特征选择?因为为36个变量创建2次多项式特征会剧烈地增加X的大小。有没有一种方法来运行选择,例如基于MSE返回最佳模型?
感谢您的回复!但是如何处理包含布尔和数字特征的特征集呢?例如两个特征x1,x2,其中x1是布尔值。如何生成函数如y = x0 + w1 * x1 + w2 * x2 + w3 * x1x2 + w4 *x²?所以忽略更高阶的布尔值,只产生交互作用,但为x2产生更高的多项式? – Alanovic
你没有提到你在初始文章中有布尔和数字特征。无论如何,如果你不想编写自己的函数来完成它,你可以使用PolynomialFeatures和interaction_only = False,然后删除任何重复的特征[这将是布尔特征的平方]。在这里检查http://stackoverflow.com/questions/14984119/python-pandas-remove-duplicate-columns – Stergios