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