在回歸分析中,線性模型的一般預測公式是:

是預測值,讀作"y hat",是特征的線性組合,把向量w稱作 coef_(系數),公式是:
把w0稱作intercept_(截距),這兩個屬性是線性模型的共有屬性。
最基本的線性模型是線性回歸,也稱作最小二乘法(OLS),線性回歸的原理是:計算訓練集中y的預測值和其真實值之間的內插補點的平方Vn,使得Vn的和達到最小。從二維圖形來看, 最優拟合曲線應該使各點到直線的距離的平方和(即殘差平方和,簡稱RSS)最小:
OLS線性回歸的目标是通過減少響應變量的真實值與預測值的內插補點來獲得模型參數(截距項和斜率),就是使RSS最小。
舉個線性回歸(OLS)的例子,通過學習訓練集獲得模型的參數:coef_(系數)和 intercept_(截距),通過score()來評估模型,滿分是1.0,表示模型拟合的優劣程度:
也可以通過計算預測值和實際值的 Mean squared error 來評估模型。
嶺回歸(Ridge)實際上是一種改良的OLS,能夠避免過拟合的線性模型,在嶺回歸中,模型會保留所有的特征向量,但是會減少特征變量的系數,讓特征變量對預測結果的影響變小,在嶺回歸中是通過改變alpha參數來控制減少特征向量系數的程度。通過保留全部特征變量,隻是降低特征向量的系數值來避免過拟合,這種方法稱作L2正則化。
參數alpha稱作正則強度,必須為正浮點數,較大的值表示較強的正則化,增加alpha的值會降低特征變量的系數,進而降低訓練集對模型的拟合程度,有助于模型的泛化。
套索回歸使用L1正則化來增加模型的泛化能力,L1正則化是指不使用全部的特征變量,這就導緻在使用套索回歸的時候,會有一部分特征的系數等于0,也就是說,有一些特征會被模型忽略。L1正則化把一部分特征的系數變成0,有助于突出展現模型中最重要的那些特征。
套索回歸擁有線性回歸的一般屬性:coef_ 和 intercept_。套索回歸容易發生欠拟合,這意味着模型使用的特征變量過少,這需要通過調節套索回歸的alpha來實作,alpha參數用于控制特征變量的系數被限制到0的強度,預設值是1,降低alpha的值會增加特征變量的系數,使特征變量不容易被忽略。實際上,alpha參數可以看作是忽略特征變量的強度,1為最強,0表示使用全部的特征變量。如果把alpha值設定的太低,就等于把正則化效果去除了,模型可能會像線性模型一樣,出現過拟合。
彈性網(Elastic Net)模型是一個線性模型,使用L1和L2正則化,是套索回歸和嶺回歸的組合,在實踐中這兩個模型的組合是最好的,然而代價是使用者需要調節兩個參數,一個是懲罰因子,另一個是L1和L2的正則化參數,通過控制l1_ratio參數來控制L1和L2的正則化。
alpha:懲罰因子,預設值是1,如果設定為0,那麼等價于OLS。
l1_ratio:對于l1_ratio = 0,懲罰L2正則,對于l1_ratio = 1,懲罰L1正則,對于0 <l1_ratio <1,懲罰是L1和L2的組合。
彈性網(Elastic Net)模型适用于當資料集有很多特征,而這些特征都跟另一個特征相關時,Lasso模型傾向于從這些特征中随機挑選一個,而ElasticNet傾向于全部選擇。
在實際的應用中,常常要決定是使用L1正則化還是L2正則化,原則大體上是:如果資料集有很多特征,而這些特征不是每一個都對結果有重要的影響,那麼就應該選擇L1正則化;如果資料集中的特征不是很多,而且每一個特征都會結果有重要的影響,那麼就應該使用L2正則化。