1.邏輯回歸是怎麼防止過擬合的?為什麼正則化可以防止過擬合?
(1)首先什麼是過擬合?
過擬合是指訓練模型時過於嚴格,學習能力太強,導致訓練出的模型過於複雜,學習到了很多無關緊要的特徵,過度擬合的問題通常發生在變數(特徵)過多的時候。這種情況下訓練出的方程總是能很好的擬合訓練資料,此時的代價函式可能非常接近於 0 或者就為 0,出現這種現象的主要原因是訓練資料中存在噪音或者訓練資料太少。
(2)如何防止過擬合?
1)增加樣本量,適用任何模型。
2)使用正則化:如果資料稀疏,使用l1正則,其他使用l2正則較好
3)特徵選擇,檢查選取的特徵,將一些不重要的特徵去除降低模型複雜度;
4)逐步回歸
4)進行離散化處理,所有特徵都離散化(邏輯回歸特有的防止過擬合的方法)
(3)為什麼正則化可以防止過擬合?
l1正則是通過增大正則項導致更多引數為0,引數係數化降低模型複雜度,從而抵抗過擬合,l2正則是通過使得引數都趨於0,變得很小,降低模型的抖動,從而抵抗過擬合。正則化中我們將保留所有的特徵變數,但是會減小特徵變數的數量級(引數數值的大小θ(j))。這個方法非常有效,當我們有很多特徵變數時,其中每乙個變數都能對會對**或多或少產生影響影響。所以我們不能一昧的把那些特徵資料刪掉,我們可以利用正則化對特徵資料進行減擬合,防止過擬合。
2.用logiftic回歸來進行實踐操作,資料不限。
from sklearn.linear_model import訓練集logisticregression
from sklearn.model_selection import
train_test_split
from sklearn.preprocessing import
standardscaler
from sklearn.metrics import
classification_report
import
pandas as pd
deflog_r():
data = pd.read_csv('
./venv/data/房產資訊.csv')
#檔案為從樂有家官網爬取的資料
#201706120019hdfend.csv檔案為處理有匯出的資料檔案
#房屋朝向特徵化:
#南:0
#東:1
#北:2
#西:3
#房屋有無電梯特徵化:
#暫無:0
#有電梯:1
#房屋樓層特徵化:
#高樓層:0
#中樓層:1
#低樓層:2
#裝修程度特徵化:
#普裝:0
#精裝:1
#毛呸:2
#豪裝:3
x = data.loc[:, ['
朝向', '
時間', '
樓層', '
面積㎡', '
室', '
廳', '
房', '
裝修程度
','售價']]
(x) y = data.iloc[:, 2]
(y)
#缺失值處理
data = data.dropna(axis=0)
#資料分割
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3)
#進行標準化處理,只處理將x標準化,y不需要,因為y是只有0,1的分類
std =standardscaler()
x_train =std.fit_transform(x_train)
x_test =std.transform(x_test)
#構建回歸模型
lr_model =logisticregression()
#模型**
lr_model.fit(x_train,y_train)
#**結果
y_pre =lr_model.predict(x_test)
print('
邏輯回歸模型的權值:\n
', lr_model.coef_)
print("
準確率:
",lr_model.score(x_test,y_test))
print("
模型的分類報告,召回率:\n
",classification_report(y_test,y_pre,target_names=["
暫無電梯
","有電梯
"]))
if__name__ == '
__main__':
log_r()
結果集
** 結果:
7 邏輯回歸實踐
1.邏輯回歸是怎麼防止過擬合的?為什麼正則化可以防止過擬合?大家用自己的話介紹下 是通過正則化來防止的。過擬合的時候,擬合函式的係數往往非常大,而正則化是通過約束引數的範數使其不要太大,所以可以在一定程度上減少過擬合情況。如下圖所示,過擬合,就是擬合函式需要顧忌每乙個點,最終形成的擬合函式波動很大。...
7 邏輯回歸實踐
1.邏輯回歸是怎麼防止過擬合的?為什麼正則化可以防止過擬合?大家用自己的話介紹下 邏輯回歸通過正則化來防止過擬合 正則化可以防止過擬合是因為過擬合的時候,擬合函式的係數往往非常大,而正則化是 通過約束引數的範數使其不要太大,所以可以在一定程度上減少過擬合情況,以l2正則化為例,正則項會使權重趨於0,...
7 邏輯回歸實踐
1.邏輯回歸是怎麼防止過擬合的?為什麼正則化可以防止過擬合?大家用自己的話介紹下 1 通過正則化來防止過擬合 2 如圖,過擬合後,得到的方程很擬合訓練的資料,但是用測試集去測試時,則可能認為其不是那一類的,以至於無法 新樣本的標籤。保留所有的特徵變數,但是減少特徵變數的數量級。假設我們使 6,7.n...