我有一個功能集的Python:創建n次多項式
[x1,x2....xm]
現在我想創建多項式功能設置 這也就意味着,如果度爲二,然後我有功能設置
[x1.... xm,x1^2,x2^2...xm^2, x1x2, x1x3....x1,xm......xm-1x1....xm-1xm]
所以它包含的只有2階而言.. 同樣是爲了是否爲三..然後你將有三次項以及..
怎麼辦 這個?
編輯1:我的工作機器學習項目中,我有接近7個功能...並在此線性特徵非線性迴歸是給好的結果......因此,我認爲,要獲得更多的數量在功能,我可以將這些功能映射到一個更高的層面.. 所以一個辦法是考慮特徵向量的多項式階... 也產生X1 * X1容易.. :)但得到的組合的剩餘部分是有點棘手..
組合能給我X1X2X3導致如果訂單是3?
'itertools.combinations(firstOrderFeatures,3)'應該爲您提供三個一階特徵的所有獨特組合。它將具有「{x1,x2,x3}」,但不包含其他5種排列。 – DataComputist 2011-12-21 22:04:58
不應該是itertools.combinations_with_replacement? 2階的特徵是x1^2,x1x2,x2^2,而不是像組合會給你的x1x2。 – 2011-12-21 23:12:41
你說得對。 'itertools.combinations_with_replacement(list,r)'很好地給出了允許重複元素的排序的長度爲r的元組。 – DataComputist 2011-12-21 23:31:25