概述
正則化的線性迴歸
嶺迴歸就是正則化的線性迴歸,線性迴歸容易出現過擬合,正則化是防止過擬合的常用方法。換句話說是修正後的最小二乘法。
線性迴歸的誤差函數
優化的誤差函數是原來線性迴歸的均方誤差上加上L2範數的懲罰項(修正項),懲罰模型的複雜程度。
Lasso迴歸也是正則化的線性迴歸。和嶺迴歸的差別在於修正項取的絕對值
嶺迴歸效果
Lasso迴歸效果
線性迴歸效果
- 多項式特徵構造 PolynomialFeatures
如果有a,b兩個特徵,那麼它的2次多項式爲(1,a,b,a^2,ab, b^2)
PolynomialFeatures有三個參數
degree:控制多項式的度
interaction_only: 默認爲False,如果指定爲True,那麼就不會有特徵自己和自己結合的項,上面的二次項中沒有a2和b2。
include_bias:默認爲True。如果爲True的話,那麼就會有上面的 1那一項
例子1,interaction_only爲默認的False時
c=[[5,10]] #c=[[a,b]],這裏要注意a的shape,如果是list形式,則將a.shape=-1,1
pl=PolynomialFeatures()
b=pl.fit_transform©
b
輸出:array([[ 1., 5., 10., 25., 50., 100.]]) #符合(1,a,b,a^2,ab, b^2)
例子2,interaction_only=True時
c=[[5,10]]
pl=PolynomialFeatures(interaction_only=True)
b=pl.fit_transform©
b
輸出:array([[ 1., 5., 10., 50.]]) #輸出中不包含a^2 和b^2 項