構(gòu)建邏輯回歸分類器
邏輯回歸是分類方法捶码,主要解決二分類問題汹押。
在邏輯回歸中使用了 Logistic 函數(shù)缘回,也稱為 Sigmoid 函數(shù)剂公。
為什么邏輯回歸算法是基于 Sigmoid 函數(shù)實現(xiàn)的呢希俩?你可以這樣理解:我們要實現(xiàn)一個二分類任務(wù),0 即為不發(fā)生纲辽,1 即為發(fā)生颜武。我們給定一些歷史數(shù)據(jù) X 和 y。其中 X 代表樣本的 n 個特征拖吼,y 代表正例和負例鳞上,也就是 0 或 1 的取值。通過歷史樣本的學(xué)習(xí)吊档,我們可以得到一個模型篙议,當給定新的 X 的時候,可以預(yù)測出 y。這里我們得到的 y 是一個預(yù)測的概率鬼贱,通常不是 0% 和100%移怯,而是中間的取值,那么我們就可以認為概率大于 50% 的時候这难,即為發(fā)生(正例)舟误,概率小于 50% 的時候,即為不發(fā)生(負例)姻乓。這樣就完成了二分類的預(yù)測嵌溢。
在sklearn 中,我們使用** LogisticRegression() 函數(shù)**構(gòu)建邏輯回歸分類器蹋岩,構(gòu)造參數(shù):
- penalty:懲罰項赖草,取值為 l1 或 l2,默認為 l2星澳。當模型參數(shù)滿足高斯分布的時候疚顷,使用 l2,當模型參數(shù)滿足拉普拉斯分布的時候禁偎,使用 l1腿堤;
- solver:代表的是邏輯回歸損失函數(shù)的優(yōu)化方法。有 5 個參數(shù)可選如暖,分別為 liblinear笆檀、lbfgs、newton-cg盒至、sag 和 saga酗洒。默認為 liblinear,適用于數(shù)據(jù)量小的數(shù)據(jù)集枷遂,當數(shù)據(jù)量大的時候可以選用 sag 或 saga 方法樱衷。
- max_iter:算法收斂的最大迭代次數(shù),默認為 10酒唉。
- n_jobs:擬合和預(yù)測的時候 CPU 的核數(shù)矩桂,默認是 1,也可以是整數(shù)痪伦,如果是 -1 則代表 CPU的核數(shù)侄榴。
模型評估指標
之前對模型做評估時,通常采用的是準確率 (accuracy)网沾,它指的是分類器正確分類的樣本數(shù)與總體樣本數(shù)之間的比例癞蚕。這個指標對大部分的分類情況是有效的,不過當分類結(jié)果嚴重不平衡的時候辉哥,準確率很難反應(yīng)模型的好壞桦山。
對于分類不平衡的情況,有兩個指標非常重要,它們分別是精確度和召回率度苔。
P 或 N 代表預(yù)測為正例還是負例匆篓,P 為正,N 為負寇窑;T 或 F代表的是預(yù)測結(jié)果是否正確鸦概,T 為正確,F(xiàn) 為錯誤甩骏。
精確率 P = TP/ (TP+FP)窗市,對應(yīng)怖分子例子,在所有判斷為恐怖分子的人數(shù)中饮笛,真正是恐怖分子的比例咨察。
召回率 R = TP/ (TP+FN),也稱為查全率福青。代表的是恐怖分子被正確識別出來的個數(shù)與恐怖分子總數(shù)的比例摄狱。
F1指標綜合了精確率和召回率,F(xiàn)1 作為精確率 P 和召回率 R 的調(diào)和平均无午,數(shù)值越大代表模型的結(jié)果越好媒役。