機器學習中的欺詐檢測:您需要了解的內容 [2022]

已發表: 2021-01-02

食物、衣服、配飾或家具。 您過去從繁忙道路上的商店購買的所有東西現在都可以在線購買。 電子商務是一個價值數十億美元的行業,而且還在不斷增長。 不用說,這也在犯罪世界的掌控之中。 在線犯罪分子存在於您可以命名的所有在線領域。

使用機器學習進行欺詐檢測是可能的,因為模型能夠從過去的欺詐數據中學習以識別模式並預測未來交易的合法性。 在大多數情況下,由於信息處理的速度和效率,它比人類更有效。

一些類型的互聯網欺詐是:

  • 身份證偽造。 如今,身份證的製作如此之好,以至於人類幾乎不可能驗證其合法性並防止任何身份欺詐。

通過使用人工智能,可以分析身份證外觀的各種特徵,從而得出證件真實性的結果。 這允許公司在提出需要某些身份證明文件的請求時建立自己的安全標準。

    • 銀行貸款詐騙。 如果有人與您聯繫並提供具有可疑有利條件的貸款計劃,則可能會發生這種情況。 在這裡,與您聯繫的人會詢問您的銀行詳細信息或預付款,而沒有任何適當的公司信息,甚至沒有使用國際聯繫電話。 人工智能可以使用以前的貸款申請記錄來過濾掉貸款違約者,從而輕鬆處理此類欺詐行為。
  • 電子郵件網絡釣魚。 這是一種網絡犯罪,向用戶宣傳虛假網站和消息,要求他們共享個人數據。 如果一個人不太小心,他或她可能會輸入任何可能使他們容易受到威脅的機密數據。 避免這種欺詐的最佳方法是讓用戶自己小心,但是,人工智能可以通過使用回歸等基本機器學習算法過濾欺詐電子郵件來找出欺詐電子郵件。
  • 信用卡詐騙。 這是最常見的付款欺詐類型。 這是因為所有詳細信息都在線存儲,這使得犯罪分子和黑客更容易訪問。 通過郵件發送的卡片也很容易被攔截。 下面討論使用機器學習過濾此類欺詐交易的一種方法。
  • 身份盜竊。 用於檢測身份盜竊的機器學習有助於實時檢查有價值的身份證件,例如護照、PAN 卡或駕駛執照。 此外,有時可能需要生物特徵信息來進一步提高安全性。 這些安全方法需要親自驗證,這在很大程度上減少了欺詐的機會。

另請閱讀:印度機器學習工程師的薪水

使用信用卡數據預測欺詐的模型

這裡使用了一個非常著名的 Kaggle 數據集來演示如何使用簡單的神經網絡模型進行欺詐檢測。

進口:

熊貓導入pd

numpy導入np

將張量導入tf

導入keras

sklearn.preprocessing導入StandardScaler

keras.models導入順序

keras.layers導入密集

sklearn.model_selection導入train_test_split

sklearn.metrics導入分類報告

看看這裡的數據集 Amount列像所有其他功能一樣被規範化, Time被刪除,因為它不相關。

數據= pd.read_csv ( 'creditcard.csv' )

數據[ 'Amount_norm' ] = StandardScaler () .fit_transform ( data [ 'Amount' ] .values.reshape ( -1 , 1 ))

data= data.drop ([ 'Amount' ], axis= 1 )

數據= data.drop ([ '時間' ],軸= 1

數據=數據[: -1 ]

數據信息()

現在經過一些數據清理,我們的數據集總共包含 28 個特徵和一個目標,它們都有非空的浮點值。

我們的目標是確定特定信用卡交易是否為欺詐類別列。 因此數據集被相應地劃分為訓練和測試,保持通常的 80:20 分割比。 random_state已修復以幫助您重現拆分數據)

X = data.iloc [:, data.columns != 'Class' ]

y = data.iloc [:, data.columns == 'Class' ]

X_train , X_test , y_train , y_test = train_test_split ( X , y , test_size = 0.2 , random_state= 0 )

我們使用keras庫中的序列模型來構建具有 3 個密集層的神經網絡。 輸出層僅包含一個神經元,它將使用sigmoid函數產生正類或負類。

然後使用adam優化器編譯模型,但強烈建議您自己嘗試不同的超參數值,例如每層中的單元數、激活、優化器等,以查看最適合給定的超參數值數據集。

模型=順序()

model.add 密集單位= 16 ,激活 = 'relu' , input_dim = 29 ))

model.add 密集單位= 16 激活= 'relu' ))

model.add 密集單位= 1 激活= 'sigmoid' ))

模型。 編譯優化器= 'adam' 損失= 'binary_crossentropy' 指標= [ 'accuracy' ])

model.fit ( X_train , y_train , batch_size = 32 , epochs = 15 )

這是模型運行幾個 epoch 後的結果。

我們看到該模型非常快地給出了 99.97% 的準確率。 下面, y_pred包含我們的模型對測試數據所做的預測,並顯示了其性能的簡潔摘要。

y_pred = model.predict ( X_test )

y_pred = ( y_pred > 0.5 )

打印分類報告 y_test y_pred ))

閱讀:面向初學者的機器學習項目創意

結論

因此,通過這種方式,我們成功地構建了一個高度準確的模型來確定欺詐交易。 這些對於風險管理目的非常方便。

如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業、IIIT- B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。

引領人工智能驅動的技術革命

機器學習和人工智能的 PG 文憑
了解更多