7 邏輯回歸實踐

2022-07-19 05:24:10 字數 1484 閱讀 9808

1.邏輯回歸是怎麼防止過擬合的?為什麼正則化可以防止過擬合?(大家用自己的話介紹下)

2.用logiftic回歸來進行實踐操作,資料不限。

解:1、

(1)增加樣本量,這是萬能的方法,適用任何模型;如果資料稀疏,使用l1正則,其他情況,用l2要好,可自己嘗試;通過特徵選擇,剔除一些不重要的特徵,從而降低模型複雜度;如果還過擬合,那就看看是否使用了過度複雜的特徵構造工程,比如,某兩個特徵相乘/除/加等方式構造的特徵,不要這樣做了,保持原特徵;檢查業務邏輯,判斷特徵有效性,是否在用結果**結果等。

(2)過擬合的時候,擬合函式的係數往往非常大,需要顧忌每乙個點,最終形成的擬合函式波動很大。在某些很小的區間裡,函式值的變化很劇烈。這就意味著函式在某些小區間裡的導數值(絕對值)非常大,由於自變數值可大可小,所以只有係數足夠大,才能保證導數值很大。 而正則化是通過約束引數的範數使其不要太大,所以可以在一定程度上減少過擬合情況。

2、資料:logisticregression.csv

**:

# 案例3:使用邏輯回歸演算法預算研究生入學考試是否會被錄取

import pandas

aspd

from

sklearn.linear_model import logisticregression

from

sklearn.model_selection import train_test_split

from

sklearn.metrics import classification_report

# (1

)資料讀取與預處理

data=pd.read_csv('

logisticregression.csv')

x=data.iloc[:,1

:]y=data.iloc[:,0

]x_train,x_test,y_train,y_test=train_test_split(x, y,test_size=0.2,random_state=5

)# (

2)構建邏輯回歸模型

lr_model=logisticregression()

# (3

)訓練模型

lr_model.fit(x_train,y_train)

# (4

)**模型

pre=lr_model.predict(x_test)

print(

'模型的正確率:

',lr_model.score(x_test,y_test))

print(

'輸出模型的分類報告:

',classification_report(y_test,pre))

執行結果:

7 邏輯回歸實踐

1.邏輯回歸是怎麼防止過擬合的?為什麼正則化可以防止過擬合?1 首先什麼是過擬合?過擬合是指訓練模型時過於嚴格,學習能力太強,導致訓練出的模型過於複雜,學習到了很多無關緊要的特徵,過度擬合的問題通常發生在變數 特徵 過多的時候。這種情況下訓練出的方程總是能很好的擬合訓練資料,此時的代價函式可能非常接...

7 邏輯回歸實踐

1.邏輯回歸是怎麼防止過擬合的?為什麼正則化可以防止過擬合?大家用自己的話介紹下 是通過正則化來防止的。過擬合的時候,擬合函式的係數往往非常大,而正則化是通過約束引數的範數使其不要太大,所以可以在一定程度上減少過擬合情況。如下圖所示,過擬合,就是擬合函式需要顧忌每乙個點,最終形成的擬合函式波動很大。...

7 邏輯回歸實踐

1.邏輯回歸是怎麼防止過擬合的?為什麼正則化可以防止過擬合?大家用自己的話介紹下 邏輯回歸通過正則化來防止過擬合 正則化可以防止過擬合是因為過擬合的時候,擬合函式的係數往往非常大,而正則化是 通過約束引數的範數使其不要太大,所以可以在一定程度上減少過擬合情況,以l2正則化為例,正則項會使權重趨於0,...