數據分析實戰之數據挖掘(邏輯迴歸——信用卡欺詐分析1)

一、邏輯迴歸

邏輯迴歸,也叫作logistic迴歸,是分類算法,主要解決的是二分類問題,當然也可以解決多分類問題。

在邏輯迴歸中使用logistic函數,也稱Sigmoid函數。函數公式爲

g(z)的結果在0-1之間,當z越大的時候,g(z)越大,當z趨近於無窮大的時候,g(z)趨近於1。當z趨近於無窮小的時候,g(z)趨近於0。同時,函數值以0.5爲中心。

爲什麼邏輯迴歸算法是基於Sigmoid函數實現的呢?

我們要實現一個二分類任務,0即爲不發生,1即爲發生。給定一些歷史數據x和y。其中x代表樣本的n個特徵,y代表正例和負例,也就是0或1 的值。通過歷史樣本的學習,我們得到一個模型,當給定新的x的時候,可以預測出y。這裏我們得到的y是一個預測的概率,通常不是0%和100%,而是中間的取值,那麼我們就可以認爲概率大於50%的時候,即爲發生(正例),概率小於50%的時候,即爲不發生(負例)。這樣就完成了二分類的預測。

二、構建邏輯迴歸分類器

在sklearn中,使用LogisticRegression()函數構建邏輯迴歸分類器,函數裏有一些常用的構造參數:

  • penalty:懲罰項,取值爲l1或l2,默認爲l2。當模型參數滿足高斯分佈的時候,使用l2,當模型參數滿足拉普拉斯分佈的時候,使用l1。
  • solver:代表的是邏輯迴歸損失函數的優化方法。有5個參數可選,分別是liblinear、lbfgs、newton-cg、sag和saga。默認爲liblinear,適用於數據量小的數據集,當數據量大的時候可以選用sag和saga方法。liblinear和saga處理l1懲罰項,lbfgs、newton-cg和sag只處理l2懲罰項。
  • max_iter:算法收斂的最大迭代次數,默認爲10。
  • n_jobs:擬合和預測的時候CPU的核數,默認是1,也可以是整數,如果是-1 則代表CPU的核數。

當我們創建好之後,就可以fit函數擬合,使用predict函數預測。

三、模型評估指標

對模型評估,通常採用的是準確率,它指的是分類器正確分類的樣本數與總體樣本數之間的比例。這個指標對大部分的分類情況是有效的,不過當分類結果嚴重不平衡的時候,準確率很難反應模型的好壞。

數據預測的四種情況:TP、FP、TN、FN。我們用第二個字母 P 或 N 代表預測爲正例還是負例,P爲正,N爲負。第一個字母T或F代表的是預測結果是否正確,T爲正確,F爲錯誤。

  • TP:預測爲正,判斷正確
  • FP:預測爲正,判斷錯誤
  • TN:預測爲負,判斷正確
  • FN:預測爲負,判斷錯誤

樣本總數 = TP+FP+TN+FN,預測正確的樣本數爲TP+TN,因此準確率Accuracy爲(TP+TN)/(TP+FP+TN+FN)。但對於分類不均衡的情況,有兩個評估指標:精確率和召回率

精確率 P= TP/(TP+FP);召回率 R = TP/(TP+FN),也稱查全率。

F1指標綜合了精確率和召回率,可以更好地評估模型的好壞。作爲精確率P 和召回率R的調和平均,數值越大代表模型的效果越好,用公式表示爲:

四、對信用卡欺詐進行分析

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章