第一次接觸LogisticRegressionCV ,記錄一下。
Logistic回歸是分類算法,不能應用於回歸中(傳入模型的y值,不能是float類型,必須是int類型)
正則化選擇參數 :penalty
——> L1 / L2 默認是L2的正則化,一般使用L2就可以了,但是如果還是過擬合,就可以用 L1,如果特征較多希望略去不重要特征,就有L1。
參數優化方式 :solver
——> 當penalty為l1的時候,參數只能是:liblinear(坐標軸下降法),lbfgs和cg都是關於目標函數的二 階泰勒展開,當penalty為l2的時候,參數可以是:lbfgs(擬牛頓法)、newton-cg(牛頓法變種), seg(minibatch) 、而liblinear通吃L1正則化和L2正則化
維度<10000時,lbfgs法比較好, 維度>10000時, cg法比較好,顯卡計算的時候,lbfgs和cg都比seg快
1. liblinear:使用了坐標軸下降法來迭代優化損失函數。
2. lbfgs:擬牛頓法的一種,利用損失函數二階導數矩陣即海森矩陣來迭代優化損失函數。
3. newton-cg:也是牛頓法家族的一種,利用損失函數二階導數矩陣即海森矩陣來迭代優化損失函數。
4. sag:即隨機平均梯度下降,是梯度下降法的變種,和普通梯度下降法的區別是每次迭代僅僅用一部分的樣本來計 算梯度,適合於樣本數據多的時候,SAG是一種線性收斂算法,這個速度遠比SGD快。關於SAG的理解.
分類方式參數 :multi_class
——>ovr(默認)、multinomial;這兩種方式在二元分類問題中,效果是一樣的,在多元分類問題中, 效果不一樣
1. ovr :one-vs-rest, 對於多元分類的問題,先將其看做二元分類,分類完成后,再迭代對其中一類繼續進行二元 分類
2.multinomial: many-vs-many(MVM),即Softmax分類效果
類型權重參數 :class_weight
——>權重一樣可以不輸入、可以選擇balanced讓類庫自己計算類型權重、或自己輸入 <class_weight={0:0.9, 1:0.1},這樣類型0的權重為90%,而類型1的權重為10%>,
1.選擇balanced,那么類庫會根據訓練樣本量來計算權重。某種類型樣本量越多,則權重越低,樣本量越少,則 權重越高。
2.
樣本權重參數: sample_weight
由於樣本不平衡,導致樣本不是總體樣本的無偏估計,調用fit函數時,通過sample_weight來自己調節每個樣本權 重
如果上面兩種方法都用到了,那么樣本的真正權重是class_weight*sample_weight.
交叉驗證參數 : cv
——> 默認None,使用三折交叉驗證。指定fold數量,默認為3,也可以是yield訓練/測試數據的生成器。
並行數 : n_jobs
——> int:個數,-1:跟CPU核數一致, 1:默認值。
迭代終止判據的誤差范圍 :tol
---------------------
作者:一個有文化的暴發戶
來源:CSDN
原文:https://blog.csdn.net/wangyuhao07/article/details/86152183
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!