LogisticRegression - 參數(shù)說明

LogisticRegression蔚龙,一共有14個(gè)參數(shù):
邏輯回歸參數(shù)詳細(xì)說明

參數(shù)說明如下:

  • penalty:懲罰項(xiàng)冰评,str類型,可選參數(shù)為l1和l2木羹,默認(rèn)為l2甲雅。用于指定懲罰項(xiàng)中使用的規(guī)范。newton-cg坑填、sag和lbfgs求解算法只支持L2規(guī)范抛人。L1G規(guī)范假設(shè)的是模型的參數(shù)滿足拉普拉斯分布,L2假設(shè)的模型參數(shù)滿足高斯分布脐瑰,所謂的范式就是加上對(duì)參數(shù)的約束妖枚,使得模型更不會(huì)過擬合(overfit),但是如果要說是不是加了約束就會(huì)好苍在,這個(gè)沒有人能回答绝页,只能說,加約束的情況下忌穿,理論上應(yīng)該可以獲得泛化能力更強(qiáng)的結(jié)果抒寂。
  • dual:對(duì)偶或原始方法,bool類型掠剑,默認(rèn)為False屈芜。對(duì)偶方法只用在求解線性多核(liblinear)的L2懲罰項(xiàng)上。當(dāng)樣本數(shù)量>樣本特征的時(shí)候,dual通常設(shè)置為False井佑。
  • tol:停止求解的標(biāo)準(zhǔn)属铁,float類型,默認(rèn)為1e-4躬翁。就是求解到多少的時(shí)候焦蘑,停止,認(rèn)為已經(jīng)求出最優(yōu)解盒发。
  • c:正則化系數(shù)λ的倒數(shù)例嘱,float類型,默認(rèn)為1.0宁舰。必須是正浮點(diǎn)型數(shù)拼卵。像SVM一樣,越小的數(shù)值表示越強(qiáng)的正則化蛮艰。
  • fit_intercept:是否存在截距或偏差腋腮,bool類型,默認(rèn)為True壤蚜。
  • intercept_scaling:僅在正則化項(xiàng)為”liblinear”即寡,且fit_intercept設(shè)置為True時(shí)有用。float類型袜刷,默認(rèn)為1聪富。
  • class_weight:用于標(biāo)示分類模型中各種類型的權(quán)重,可以是一個(gè)字典或者’balanced’字符串水泉,默認(rèn)為不輸入善涨,也就是不考慮權(quán)重,即為None草则。如果選擇輸入的話,可以選擇balanced讓類庫自己計(jì)算類型權(quán)重蟹漓,或者自己輸入各個(gè)類型的權(quán)重炕横。舉個(gè)例子,比如對(duì)于0,1的二元模型葡粒,我們可以定義class_weight={0:0.9,1:0.1}份殿,這樣類型0的權(quán)重為90%,而類型1的權(quán)重為10%嗽交。如果class_weight選擇balanced卿嘲,那么類庫會(huì)根據(jù)訓(xùn)練樣本量來計(jì)算權(quán)重。某種類型樣本量越多夫壁,則權(quán)重越低拾枣,樣本量越少,則權(quán)重越高。當(dāng)class_weight為balanced時(shí)梅肤,類權(quán)重計(jì)算方法如下:n_samples / (n_classes * np.bincount(y))司蔬。n_samples為樣本數(shù),n_classes為類別數(shù)量姨蝴,np.bincount(y)會(huì)輸出每個(gè)類的樣本數(shù)俊啼,例如y=[1,0,0,1,1],則np.bincount(y)=[2,3]。
    • 那么class_weight有什么作用呢左医?
      • 在分類模型中授帕,我們經(jīng)常會(huì)遇到兩類問題:
      • 第一種是誤分類的代價(jià)很高。比如對(duì)合法用戶和非法用戶進(jìn)行分類浮梢,將非法用戶分類為合法用戶的代價(jià)很高豪墅,我們寧愿將合法用戶分類為非法用戶,這時(shí)可以人工再甄別黔寇,但是卻不愿將非法用戶分類為合法用戶偶器。這時(shí),我們可以適當(dāng)提高非法用戶的權(quán)重缝裤。
      • 第二種是樣本是高度失衡的屏轰,比如我們有合法用戶和非法用戶的二元樣本數(shù)據(jù)10000條,里面合法用戶有9995條憋飞,非法用戶只有5條霎苗,如果我們不考慮權(quán)重,則我們可以將所有的測(cè)試集都預(yù)測(cè)為合法用戶榛做,這樣預(yù)測(cè)準(zhǔn)確率理論上有99.95%唁盏,但是卻沒有任何意義。這時(shí)检眯,我們可以選擇balanced厘擂,讓類庫自動(dòng)提高非法用戶樣本的權(quán)重。提高了某種分類的權(quán)重锰瘸,相比不考慮權(quán)重刽严,會(huì)有更多的樣本分類劃分到高權(quán)重的類別,從而可以解決上面兩類問題避凝。
  • random_state:隨機(jī)數(shù)種子舞萄,int類型,可選參數(shù)管削,默認(rèn)為無倒脓,僅在正則化優(yōu)化算法為sag,liblinear時(shí)有用。
  • solver:優(yōu)化算法選擇參數(shù)含思,只有五個(gè)可選參數(shù)崎弃,即newton-cg,lbfgs,liblinear,sag,saga。默認(rèn)為liblinear。solver參數(shù)決定了我們對(duì)邏輯回歸損失函數(shù)的優(yōu)化方法吊履,有四種算法可以選擇安皱,分別是:
    • liblinear:使用了開源的liblinear庫實(shí)現(xiàn),內(nèi)部使用了坐標(biāo)軸下降法來迭代優(yōu)化損失函數(shù)艇炎。
    • lbfgs:擬牛頓法的一種酌伊,利用損失函數(shù)二階導(dǎo)數(shù)矩陣即海森矩陣來迭代優(yōu)化損失函數(shù)。
    • newton-cg:也是牛頓法家族的一種缀踪,利用損失函數(shù)二階導(dǎo)數(shù)矩陣即海森矩陣來迭代優(yōu)化損失函數(shù)居砖。
    • sag:即隨機(jī)平均梯度下降,是梯度下降法的變種驴娃,和普通梯度下降法的區(qū)別是每次迭代僅僅用一部分的樣本來計(jì)算梯度奏候,適合于樣本數(shù)據(jù)多的時(shí)候。
    • saga:線性收斂的隨機(jī)優(yōu)化算法的的變重唇敞。
    • 總結(jié)
      • liblinear適用于小數(shù)據(jù)集蔗草,而sag和saga適用于大數(shù)據(jù)集因?yàn)樗俣雀臁?/li>
      • 對(duì)于多分類問題,只有newton-cg,sag,saga和lbfgs能夠處理多項(xiàng)損失疆柔,而liblinear受限于一對(duì)剩余(OvR)咒精。啥意思,就是用liblinear的時(shí)候旷档,如果是多分類問題模叙,得先把一種類別作為一個(gè)類別,剩余的所有類別作為另外一個(gè)類別鞋屈。一次類推范咨,遍歷所有類別,進(jìn)行分類厂庇。
      • newton-cg,sag和lbfgs這三種優(yōu)化算法時(shí)都需要損失函數(shù)的一階或者二階連續(xù)導(dǎo)數(shù)渠啊,因此不能用于沒有連續(xù)導(dǎo)數(shù)的L1正則化,只能用于L2正則化宋列。而liblinear和saga通吃L1正則化和L2正則化昭抒。
      • 同時(shí),sag每次僅僅使用了部分樣本進(jìn)行梯度迭代炼杖,所以當(dāng)樣本量少的時(shí)候不要選擇它,而如果樣本量非常大盗迟,比如大于10萬坤邪,sag是第一選擇。但是sag不能用于L1正則化罚缕,所以當(dāng)你有大量的樣本艇纺,又需要L1正則化的話就要自己做取舍了合瓢。要么通過對(duì)樣本采樣來降低樣本量揽祥,要么回到L2正則化。
      • 從上面的描述,大家可能覺得幔翰,既然newton-cg, lbfgs和sag這么多限制,如果不是大樣本饰迹,我們選擇liblinear不就行了嘛商架!錯(cuò),因?yàn)閘iblinear也有自己的弱點(diǎn)侣签!我們知道塘装,邏輯回歸有二元邏輯回歸和多元邏輯回歸。對(duì)于多元邏輯回歸常見的有one-vs-rest(OvR)和many-vs-many(MvM)兩種影所。而MvM一般比OvR分類相對(duì)準(zhǔn)確一些蹦肴。郁悶的是liblinear只支持OvR,不支持MvM猴娩,這樣如果我們需要相對(duì)精確的多元邏輯回歸時(shí)阴幌,就不能選擇liblinear了。也意味著如果我們需要相對(duì)精確的多元邏輯回歸不能使用L1正則化了卷中。
  • max_iter:算法收斂最大迭代次數(shù)矛双,int類型,默認(rèn)為10仓坞。僅在正則化優(yōu)化算法為newton-cg, sag和lbfgs才有用背零,算法收斂的最大迭代次數(shù)。
  • multi_class:分類方式選擇參數(shù)无埃,str類型徙瓶,可選參數(shù)為ovr和multinomial,默認(rèn)為ovr嫉称。ovr即前面提到的one-vs-rest(OvR)侦镇,而multinomial即前面提到的many-vs-many(MvM)。如果是二元邏輯回歸织阅,ovr和multinomial并沒有任何區(qū)別壳繁,區(qū)別主要在多元邏輯回歸上。
    • *OvR和MvM有什么不同*****荔棉?
      • OvR的思想很簡(jiǎn)單闹炉,無論你是多少元邏輯回歸,我們都可以看做二元邏輯回歸润樱。具體做法是渣触,對(duì)于第K類的分類決策,我們把所有第K類的樣本作為正例壹若,除了第K類樣本以外的所有樣本都作為負(fù)例嗅钻,然后在上面做二元邏輯回歸皂冰,得到第K類的分類模型。其他類的分類模型獲得以此類推养篓。
      • MvM則相對(duì)復(fù)雜秃流,這里舉MvM的特例one-vs-one(OvO)作講解。如果模型有T類柳弄,我們每次在所有的T類樣本里面選擇兩類樣本出來舶胀,不妨記為T1類和T2類,把所有的輸出為T1和T2的樣本放在一起语御,把T1作為正例峻贮,T2作為負(fù)例,進(jìn)行二元邏輯回歸应闯,得到模型參數(shù)纤控。我們一共需要T(T-1)/2次分類。
      • 可以看出OvR相對(duì)簡(jiǎn)單碉纺,但分類效果相對(duì)略差(這里指大多數(shù)樣本分布情況船万,某些樣本分布下OvR可能更好)。而MvM分類相對(duì)精確骨田,但是分類速度沒有OvR快耿导。如果選擇了ovr,則4種損失函數(shù)的優(yōu)化方法liblinear态贤,newton-cg,lbfgs和sag都可以選擇舱呻。但是如果選擇了multinomial,則只能選擇newton-cg, lbfgs和sag了。
  • verbose:日志冗長(zhǎng)度悠汽,int類型箱吕。默認(rèn)為0。就是不輸出訓(xùn)練過程柿冲,1的時(shí)候偶爾輸出結(jié)果茬高,大于1,對(duì)于每個(gè)子模型都輸出假抄。
  • warm_start:熱啟動(dòng)參數(shù)怎栽,bool類型。默認(rèn)為False宿饱。如果為True熏瞄,則下一次訓(xùn)練是以追加樹的形式進(jìn)行(重新使用上一次的調(diào)用作為初始化)。
  • n_jobs:并行數(shù)谬以。int類型巴刻,默認(rèn)為1。1的時(shí)候蛉签,用CPU的一個(gè)內(nèi)核運(yùn)行程序胡陪,2的時(shí)候,用CPU的2個(gè)內(nèi)核運(yùn)行程序碍舍。為-1的時(shí)候柠座,用所有CPU的內(nèi)核運(yùn)行程序。

總結(jié):

  • 優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單片橡,易于理解和實(shí)現(xiàn)妈经;計(jì)算代價(jià)不高,速度很快捧书,存儲(chǔ)資源低吹泡。
  • 缺點(diǎn):容易欠擬合,分類精度可能不高经瓷。
  • 其他
    • Logistic回歸的目的是尋找一個(gè)非線性函數(shù)Sigmoid的最佳擬合參數(shù)爆哑,求解過程可以由最優(yōu)化算法完成。
    • 改進(jìn)的一些最優(yōu)化算法舆吮,比如sag揭朝。它可以在新數(shù)據(jù)到來時(shí)就完成參數(shù)更新,而不需要重新讀取整個(gè)數(shù)據(jù)集來進(jìn)行批量處理色冀。
    • 機(jī)器學(xué)習(xí)的一個(gè)重要問題就是如何處理缺失數(shù)據(jù)潭袱。這個(gè)問題沒有標(biāo)準(zhǔn)答案,取決于實(shí)際應(yīng)用中的需求》嫣瘢現(xiàn)有一些解決方案屯换,每種方案都各有優(yōu)缺點(diǎn)。
    • 我們需要根據(jù)數(shù)據(jù)的情況与学,這是Sklearn的參數(shù)彤悔,以期達(dá)到更好的分類效果。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末癣防,一起剝皮案震驚了整個(gè)濱河市蜗巧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蕾盯,老刑警劉巖幕屹,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異级遭,居然都是意外死亡望拖,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門挫鸽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來说敏,“玉大人,你說我怎么就攤上這事丢郊】” “怎么了医咨?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)架诞。 經(jīng)常有香客問我拟淮,道長(zhǎng),這世上最難降的妖魔是什么谴忧? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任很泊,我火速辦了婚禮,結(jié)果婚禮上沾谓,老公的妹妹穿的比我還像新娘委造。我一直安慰自己,他們只是感情好均驶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布昏兆。 她就那樣靜靜地躺著,像睡著了一般辣恋。 火紅的嫁衣襯著肌膚如雪亮垫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天伟骨,我揣著相機(jī)與錄音饮潦,去河邊找鬼。 笑死携狭,一個(gè)胖子當(dāng)著我的面吹牛继蜡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逛腿,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼稀并,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了单默?” 一聲冷哼從身側(cè)響起碘举,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搁廓,沒想到半個(gè)月后引颈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡境蜕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年蝙场,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粱年。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡售滤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情完箩,我是刑警寧澤赐俗,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站嗜憔,受9級(jí)特大地震影響秃励,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吉捶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望皆尔。 院中可真熱鬧呐舔,春花似錦、人聲如沸慷蠕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽流炕。三九已至澎现,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間每辟,已是汗流浹背剑辫。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渠欺,地道東北人妹蔽。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像挠将,于是被迫代替她去往敵國(guó)和親胳岂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容