邏輯回歸在信用卡欺詐檢測中的實戰應用

在大數據和機器學習蓬勃發展的時代,信用卡欺詐檢測成為了保障金融安全的重要環節。邏輯回歸作為一種經典的機器學習算法,在這一領域發揮著關鍵作用。本文將通過一段完整的Python代碼,詳細解析邏輯回歸在信用卡欺詐檢測中的具體應用過程,帶大家深入理解其原理與實踐。

數據讀取與預處理

首先,我們使用pandas庫讀取信用卡交易數據。代碼data = pd.read_csv(r"./creditcard.csv")將存儲在本地的creditcard.csv文件讀取到data變量中,隨后通過print(data.head())查看數據的前5行,初步了解數據的結構和內容。

import pandas as pddata = pd.read_csv(r"./creditcard.csv")
print(data.head())#前5的數據

數據預處理環節至關重要。對于Amount列數據,我們采用StandardScaler進行Z標準化處理,目的是使數據具有零均值和單位方差,消除不同特征之間的量綱差異,提升模型的訓練效果。代碼如下:

from sklearn.preprocessing import StandardScaler#z標準化的函數scaler = StandardScaler()#初始化
a = data[['Amount']]
b = data['Amount']
data['Amount'] = scaler.fit_transform(data[['Amount']])
print(data.head())#打印這個表格的前5行

同時,考慮到Time列在本次分析中可能對模型幫助不大,使用data = data.drop(['Time'],axis=1)將其刪除,簡化數據結構。

數據可視化分析

為了直觀了解正負樣本的分布情況,我們使用matplotlibpylab庫進行數據可視化。通過pd.value_counts(data['Class'])統計Class列中每類的個數,再繪制柱狀圖展示正負例樣本數。這一步有助于我們對數據的不均衡性有更清晰的認識,為后續模型構建提供參考。

import matplotlib.pyplot as plt
from pylab import mpl
#matplotlib不能顯示中文,借助于pylab實現中文顯示mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']#顯示中文
mpl.rcParams['axes.unicode_minus'] = False
labels_count = pd.value_counts(data['Class'])#統計data['Class']中每類的個數
print(labels_count)
plt.title("正負例樣本數")
plt.xlabel("類別")
plt.ylabel("頻數")
labels_count.plot(kind='bar')
plt.show()

模型構建與訓練

接下來進入核心環節——邏輯回歸模型的構建與訓練。我們使用train_test_split函數將原始數據集劃分為訓練集和測試集,其中測試集占比30%,并通過設置random_state確保每次劃分的數據集相同,便于模型的評估和比較。

from sklearn.model_selection import train_test_split#專門用來對數據集進行切分的函數
#對原始數據集進行切分
X_whole = data.drop('Class',axis=1)#刪除class列,其余數據作為特征集
y_whole = data.Class #class列作為標簽(label標注)
x_train_w, x_test_w, y_train_w, y_test_w = \
train_test_split(X_whole,y_whole,test_size = 0.3, random_state = 1000)
#隨機種子可以保證每次抽的數據都是一樣能的

然后實例化LogisticRegression類,并設置超參數C=0.01,創建邏輯回歸模型對象lr。通過lr.fit(x_train_w,y_train_w)將訓練數據傳入模型進行訓練,此時訓練好的模型參數將自動保存到lr變量中。

from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(C=0.01)#先調用這個類創建一個邏輯回歸對象lr
lr.fit(x_train_w,y_train_w)#傳入訓練數據,之后的模型就會自動保存到變量lr

模型評估

模型訓練完成后,我們使用測試集對其進行評估。通過lr.predict(x_test_w)對測試集數據進行預測,得到預測結果test_predicted;再利用lr.score(x_test_w,y_test_w)計算模型在測試集上的準確率,衡量模型的整體性能。

test_predicted = lr.predict(x_test_w)#測試集
result = lr.score(x_test_w,y_test_w)#準確率

為了更全面地評估模型的分類效果,我們引入classification_report函數,它能提供精確率、召回率、F1值等詳細的分類指標,幫助我們深入分析模型在正負樣本分類上的表現。

from sklearn import metrics
print(metrics.classification_report(y_test_w, test_predicted))

運行結果

  • List item

在這里插入圖片描述

總結與展望

通過以上步驟,我們成功地將邏輯回歸算法應用于信用卡欺詐檢測任務中,從數據讀取、預處理,到模型構建、訓練與評估,完整地展示了一個機器學習項目的開發流程。邏輯回歸憑借其簡單易懂、可解釋性強的特點,在金融風控領域有著廣泛的應用。

然而,實際應用中可能存在數據不均衡、特征優化等問題,后續可以嘗試采用過采樣、欠采樣等技術解決數據不均衡問題,或者運用特征工程方法挖掘更有效的特征,進一步提升模型的性能。希望本文能為大家在邏輯回歸的學習和實踐中提供幫助,也歡迎大家在評論區交流探討更多優化思路和應用場景。

上述博客從代碼出發,講解了邏輯回歸的應用全流程。若你覺得內容需要增減,或是想對某些部分深入探討,歡迎和我說說。

這篇博客圍繞代碼全流程解析了邏輯回歸的應用。若你想對模型優化、代碼細節等方面展開更多探討,歡迎隨時分享你的想法。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78876.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78876.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78876.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

矯平機:金屬板材精密加工的“整形專家”

一、矯平機的定義與核心功能 矯平機(Leveling Machine)是金屬加工領域的關鍵設備,主要用于消除金屬板材或帶材在軋制、運輸過程中產生的內應力,矯正其彎曲、扭曲、波浪邊等形變缺陷,使材料達到毫米級甚至微米級的平整…

百度「心響」:通用超級智能體,重新定義AI任務執行新范式

在AI技術從“對話交互”邁向“任務執行”的轉折點,百度于2025年4月正式推出移動端超級智能體應用——心響。這款以“AI任務完成引擎”為核心的創新產品,被譽為“AI指揮官”,通過自然語言交互實現復雜任務的全流程托管,覆蓋知識解析…

游戲性能測試

1. 分階段,看目的,確定高中低三檔測試機,最低檔機的確定需要和客戶端主程和制作人等共同確定 確定三檔機的方式: 1. 要上線地區的top100,根據用戶占比,劃分出三檔 2. 根據用研部門提供的數據,確…

react-10樣式模塊化(./index.module.css, <div className={welcome.title}>Welcome</div>)

1.react樣式模塊化 避免各個組件類名相同 相關樣式沖突所以需要樣式模塊化。比如在組件Hello中的樣式引入,將樣式文件名更改為index.module.css如下圖。 2. 文件中引入模塊以及使用 文件中import引入模塊樣式 import welcome from "./index.module.css"…

4月30日星期三今日早報簡報微語報早讀

4月30日星期三,農歷四月初三,早報#微語早讀。 1、神舟十九號載人飛船因東風著陸場氣象原因推遲返回; 2、林毅夫:到2049年中國經濟體量有望達到美國的兩倍; 3、市場監管總局:2024年查辦商標、專利等領域違…

小剛說C語言刷題—1462小明的游泳時間

1.題目描述 倫敦奧運會要到了,小明在拼命練習游泳準備參加游泳比賽。 這一天,小明給自己的游泳時間做了精確的計時(本題中的計時都按 24 小時制計算),它發現自己從 a 時 b 分一直游泳到當天的 c 時 d 分。 請你幫小…

SpringBoot+EasyExcel+Mybatis+H2實現導入

文章目錄 SpringBootEasyExcelMybatisH2實現導入1.準備工作1.1 依賴管理1.2 配置信息properties1.3 H2數據庫1.4 Spring Boot 基礎概念1.5 Mybatis核心概念 1.6 EasyExcel核心概念 2.生成Excel數據工具類-隨機字符串編寫生成Excel的java文件 3.導入功能并且存入數據庫3.1 返回結…

嵌入式開發高頻面試題全解析:從基礎編程到內存操作核心知識點實戰

一、數組操作:3x3 數組的對角和、偶數和、奇數和 題目 求 3x3 數組的對角元素和、偶數元素和、奇數元素和。 知識點 數組遍歷:通過雙重循環訪問數組的每個元素,外層循環控制行,內層循環控制列。對角元素判斷: 主對…

分布式優化與一致性算法python實現

目錄 摘要一、分布式優化問題描述二、一致性算法基礎2.1 平均一致性(Average Consensus)2.2 Gossip 協議三、分布式梯度下降(DGD)四、分布式 ADMM 與共識優化五、收斂性與參數選擇六、典型案例6.1 傳感器網絡參數估計6.1.1 問題描述6.1.2 算法設計6.1.3 實驗結果6.2 分布式…

突破SQL注入字符轉義的實戰指南:繞過技巧與防御策略

在滲透測試中,SQL注入始終是Web安全的重點攻擊手段。然而,當開發者對用戶輸入的特殊字符(如單引號、反斜杠)進行轉義時,傳統的注入方式往往會失效。本文將深入探討如何繞過字符轉義限制,并給出防御建議。 目…

算法導論第6章思考題

6.3-2 func(A) 1 A.heap-sizeA.len 2 \quad for i ? A . l e n 2 ? \lfloor {A.len\over2}\rfloor ?2A.len?? downto 1 3 \qquad MAX-HEAPIFY(A,i) 對于第2行的循環控制變量i來說,為啥要求它是從 ? A . l e n 2 ? \lfloor {A.len\over2}\rfloor ?2A.len??…

可商用,可離線運行,可API接口調用的開源AI數字人項目Heygem,喂飯級安裝教程

前言 Heygem 是一款開源項目,致力于發揮你電腦硬件的全部潛力,讓你無需依賴云端,也能在本地高效運行各類開源AI數字人模型。無論是 AI 語音對話、虛擬主播,還是數字人驅動引擎,Heygem 通過底層性能調度與資源管理優化&…

三個概念:DataBinding,Dependency Property 與DataTemplate

WPF 核心概念詳解:DataBinding、Dependency Property 和 DataTemplate 1. DataBinding (數據綁定) 基本概念 DataBinding 是 WPF 的核心機制,用于在 UI 元素和數據源之間建立自動同步關系。 關鍵特性 雙向綁定:數據變化自動反映到 UI&…

C語言教程(二十六):C 語言內存管理詳解

一、C 語言內存區域劃分 在 C 語言程序運行時,內存主要分為以下幾個區域: 1.1 棧區(Stack) 特點:由編譯器自動分配和釋放,主要存儲函數的局部變量、函數參數、返回地址等。棧區的內存分配和釋放是按照后進先出(LIFO)的原則進行的,速度快。示例: #include <stdio.…

騰訊云服務器性能提升全棧指南(2025版)

騰訊云服務器性能提升全棧指南&#xff08;2025版&#xff09; 一、硬件選型與資源優化 1. 實例規格精準匹配 騰訊云服務器提供計算型CVM、內存型MEM、大數據型Hadoop等12種實例類型。根據業務特性選擇&#xff1a; ? 高并發Web應用&#xff1a;推薦SA3實例&#xff0…

決策樹在電信客戶流失分析中的實戰應用

在當今數據驅動的時代&#xff0c;數據分析和機器學習技術在各行業的應用愈發廣泛。電信行業面臨著激烈的競爭&#xff0c;客戶流失問題成為影響企業發展的關鍵因素之一。如何準確預測客戶是否會流失&#xff0c;并采取相應措施挽留客戶&#xff0c;是電信企業關注的重點。決策…

【HCIA】VRRP

前言 二層交換機為了破環發明了堆疊&#xff0c;把幾臺實際的交換機視作一個虛擬的交換機&#xff0c;實現了鏈路的復用和環路的破壞。那么對應到三層的路由器&#xff0c;我們有 VRRP&#xff08;Virtual Router Redundancy Protocol&#xff09;&#xff0c;它可以讓路由器分…

第15講:基礎柱狀圖與分組柱狀圖美化指南

目錄 ?? 一、為什么要關注柱狀圖的“美化”? ?? 二、基礎柱狀圖的構建邏輯(以 ggplot2 為例) ?? 三、美化細節全面升級 ? 1. 自定義配色與透明度 ? 2. 添加數值標簽 ? 3. 設置 y 軸刻度與坐標軸美學 ????? 四、分組柱狀圖(Grouped Bar Plot) ?? 五…

SV 仿真的常識

文章目錄 SV對verilog的擴展&#x1f4d8; 標準文檔名稱&#xff1a; 從SV到仿真通用過程解讀實例解讀 SV的仿真過程并行仿真顆粒度SV仿真調度調度區域 SV對verilog的擴展 SystemVerilog 和 Verilog 的語法標準由 **IEEE&#xff08;美國電氣和電子工程師協會&#xff09;**制…

蘇德戰爭前期蘇聯損失慘重(馬井堂)

蘇德戰爭前期&#xff08;1941年6月22日德國發動“巴巴羅薩行動”至1941年底至1942年初&#xff09;是蘇聯在二戰中損失最慘重的階段之一。以下是主要方面的損失概述&#xff1a; ?一、軍事損失? ?人員傷亡與俘虜? 至1941年底&#xff0c;蘇軍傷亡約?300萬人?&#xff…