第一次接觸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:預設值。