零售业案例 | 数据分析在银零售业应用之欺诈检测

如皋娱乐新闻网 2025-08-25

050non- nullfloat64

6V7 5050non- nullfloat64

7V8 5050non- nullfloat64

8V9 5050non- nullfloat64

9V10 5050non- nullfloat64

10V11 5050non- nullfloat64

11V12 5050non- nullfloat64

12V13 5050non- nullfloat64

13V14 5050non- nullfloat64

14V15 5050non- nullfloat64

15V16 5050non- nullfloat64

16V17 5050non- nullfloat64

17V18 5050non- nullfloat64

18V19 5050non- nullfloat64

19V20 5050non- nullfloat64

20V21 5050non- nullfloat64

21V22 5050non- nullfloat64

22V23 5050non- nullfloat64

23V24 5050non- nullfloat64

24V25 5050non- nullfloat64

25V26 5050non- nullfloat64

26V27 5050non- nullfloat64

27V28 5050non- nullfloat64

28Amount 5050non- nullfloat64

29Class5050non- nullint64

dtypes: float64( 29), int64( 1)

memory usage: 1.2MB

V1 V2 V3 V4 V5 V6 V7

01.725265-1.337256-1.012687-0.361656-1.431611-1.098681-0.842274

10.683254-1.6818750.533349-0.326064-1.4556030.101832-0.520590

21.067973-0.6566671.0297380.253899-1.1727150.073232-0.745771

V8 V9 V10 V11 V12 V13 V14

0-0.026594-0.0324090.2151131.618952-0.654046-1.442665-1.546538

10.114036-0.6017600.4440111.5215700.499202-0.127849-0.237253

20.2498031.383057-0.483771-0.7827800.005242-1.273288-0.269260

V15 V16 V17 V18 V19 V20 V21

0-0.2300081.7855391.4197930.0716660.2330310.2759110.414524

1-0.7523510.6671900.724785-1.7366150.7020880.6381860.116898

20.091287-0.3479730.495328-0.9259490.099138-0.083859-0.189315

V22 V23 V24 V25 V26 V27 V28

00.7934340.0288870.419421-0.367529-0.155634-0.0157680.010790

1-0.304605-0.1255470.2448480.069163-0.460712-0.0170680.063542

2-0.4267430.0795390.1296920.0027780.970498-0.0350560.017313

Amount Class

0189.000

1315.170

259.980

统计分析数据集包涵不限参数:

值编码的参数V1到V28就是指PCA变换中会赢得的主意味着。由于保密疑点,未备有有关原始功能的剧中接收者。 Amount参数表示融资金额。 Class参数推断融资应该为诈骗(1)或非诈骗(0)。

幸运的是,就其性质而言,诈骗意外事件在任何融资一览表中会都是极极少数。然而,当统计分析数据集中会包涵的不同并不一定或多或极少实际上时,机器学习算法并不一定缺点同样。否则,就不能什么统计分析数据可供借鉴,这个疑点被被称作并不一定不均。

接着测算诈骗融资占去统计分析数据集中会融资总数的百分比:

round(creditcard_data[ 'Class'].value_counts* 100/ len(creditcard_data)).convert_dtypes

099

11

Name: Class, dtype: Int64

并始创一个示意图,将诈骗与非诈骗的统计分析数据点可视化。

importmatplotlib.pyplot asplt

importnumpy asnp

defprep_data(df):

X = df.iloc[:, 1: 28]

X = np.array(X).astype(float)

y = df.iloc[:, 29]

y = np.array(y).astype(float)

returnX, y

defplot_data(X, y):

plt.scatter(X[y== 0, 0], X[y== 0, 1], label= 'Class #0', alpha= 0.5, linewidth= 0.15)

plt.scatter(X[y== 1, 0], X[y== 1, 1], label= 'Class #1', alpha= 0.5, linewidth= 0.15, c= 'r')

plt.legend

returnplt.show

X, y = prep_data(creditcard_data)

plot_data(X, y)

可以确认的是,诈骗性融资的比例非常低,当中会实际上一个并不一定不连续性疑点的个案。

为认识到决这个疑点,我们可以适用合成极少数人超抽样电子技术(SMOTE)来新的连续性统计分析数据。与随机超额抽样不同,SMOTE以致于复杂一些,因为它不只是始创掩蔽值的直观日志。

相反,它适用诈骗案子的最近邻居的特征来始创新的、合成的抽样,这些抽样与极少数人并不一定中会的既有掩蔽值相当相似,让我们把SMOTE运用作该信用卡统计分析数据。

fromimblearn.over_sampling importSMOTE

method = SMOTE

X_resampled, y_resampled = method.fit_resample(X, y)

plot_data(X_resampled, y_resampled)

正如所看着的,适用SMOTE马上备有了来得多的极少数并不一定的掩蔽结果。为了来得佳地看着这种步骤的结果,这里将把其与原始统计分析数据进行比较。

defcompare_plot(X, y, X_resampled, y_resampled, method):

f, (ax1, ax2) = plt.subplots( 1, 2)

c0 = ax1.scatter(X[y== 0, 0], X[y== 0, 1], label= 'Class #0',alpha= 0.5)

c1 = ax1.scatter(X[y== 1, 0], X[y== 1, 1], label= 'Class #1',alpha= 0.5, c= 'r')

ax1.set_title( 'Original set')

ax2.scatter(X_resampled[y_resampled== 0, 0], X_resampled[y_resampled== 0, 1], label= 'Class #0', alpha= .5)

ax2.scatter(X_resampled[y_resampled== 1, 0], X_resampled[y_resampled== 1, 1], label= 'Class #1', alpha= .5,c= 'r')

ax2.set_title(method)

plt.figlegend((c0, c1), ( 'Class #0', 'Class #1'), loc= 'lower center', ncol= 2, labelspacing= 0.)

plt.tight_layout(pad= 3)

returnplt.show

print( f'Original set:'

f' {pd.value_counts(pd.Series(y))}'

f'SMOTE:'

f' {pd.value_counts(pd.Series(y_resampled))}' )

compare_plot(X, y, X_resampled, y_resampled, method= 'SMOTE')

Originalset:

0 .05000

1 .050

dtype: int64

SMOTE:

0 .05000

1 .05000

dtype: int64

因此,SMOTE步骤不太可能完全连续性了统计分析数据,极少数社会性过去与多数社会性的为数完全一致。

例如,此类规则可能涉及不怪异的融资地点或确实的频繁融资。其想法是基于常见的统计分析统计分析数据所谓设敏感度,并不一定是基于掩蔽值的平均值,并在功能上适用这些敏感度来侦测诈骗。

print(creditcard_data.groupby( 'Class').mean.round( 3) [['V1', 'V3']])

V1V3

Class

0 0 .0350 .037

1 -4.985-7.294

在特别持续性下,可以分析方法不限有条件:V1<-3和V3<-5。然后,为了评估这种步骤的性能,我们将把标记的诈骗个案与实际个案进行比较:

creditcard_data[ 'flag_as_fraud'] = np.where(np.logical_and(creditcard_data[ 'V1']<-3, creditcard_data[ 'V3']

print(pd.crosstab(creditcard_data[ 'Class'], creditcard_data[ 'flag_as_fraud'], rownames=[ 'Actual Fraud'], colnames=[ 'Flagged Fraud']))

FlaggedFraud 01

Actual Fraud

0498416

12822

fromsklearn.model_selection importtrain_test_split

fromsklearn.linear_model importLogisticRegression

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

lr = LogisticRegression

lr.fit(X_train, y_train)

predictions = lr.predict(X_test)

print(pd.crosstab(y_test, predictions, rownames=[ 'Actual Fraud'], colnames=[ 'Flagged Fraud']))

FlaggedFraud0 .01 .0

ActualFraud

0 .01504 1

1 .01 9

需要请注意的是,在混淆矩阵中会要查看的观测者值较极少,因为我们只适用测试者集来测算所谓设结果,即仅占去整个统计分析数据集的30%。

结果是发掘出了极高比例的诈骗案子:90%(9/10),而在此之后的结果是44%(22/50),得到的误报也比以前极少了很多,这是一个进步。

过去让我们回到前面讨论的类不连续性疑点,并探索应该可以通过将逻辑上紧接所谓设与SMOTE重采样步骤相结合来大大降低得出结果。为了高效、一次性地收尾这项管理工作,我们需要所谓设一个渠道,并在统计分析数据上行驶:

from imblearn.pipeline import Pipeline

# Defining which resampling method and which ML model to use in the pipeline

resampling = SMOTE

lr = LogisticRegression

pipeline = Pipeline([('SMOTE', resampling), ('Logistic Regression', lr)])

pipeline.fit(X_train, y_train)

predictions = pipeline.predict(X_test)

print(pd.crosstab(y_test, predictions, rownames=['Actual Fraud'], colnames=['Flagged Fraud']))

FlaggedFraud0 .01 .0

ActualFraud

0 .01496 9

1 .01 9

可以看着,在个案中会,SMOTE并不能带来任何改进:仍然捕获了90%的诈骗意外事件,而且所谓白血病数量略高。

这里的解释是,新的抽样不一定在所有持续性下都能带来来得佳的结果。当诈骗案子在统计分析数据中会非常集中时,其最近的不一定也是诈骗案子,所以适用SMOTE会引入无知疑点。

为了提高逻辑上紧接所谓设的可用性,我们可以更改一些算法参数,也可以考虑采用K-fold交叉验证法,而不是直接将统计分析数据集分成两外。

最后,还可以尝试一些其他的机器学习算法(如各项政策树或随机森林),再来它们应该能说明了来得佳的结果。

参考链接:

好,以上就是从前的分享。如果大家还有统计分析建模方面无关的疑点,就在评论区留言。

来得多令人难忘个案敬请关注4年底7日播送,过去扫码免费仅限~

播送预告

仅限播送

点这里👇关注我,昨天标星哦~

CDA文凭咨询

潍坊银屑病医院哪好
北京白癜风医院挂号咨询
青岛白癜风治疗费用
西安男科医院哪家医院好
成都妇科检查多少钱
药品差比价
风湿免疫科
白内障
五一假期临近,如何防治新冠等传染病?国家疾控局给出标准答案
孩子积食
相关阅读

去日本深造家里给了我多少钱

音乐 2025-10-22

家里就缺少了30万日元! 以及半年费用下到宿费 在遥近的15年(7年前),我妈在当中国银行汇完半年费用之前,又取了30万日元的保证金给我,然后我就揣着这30万日元去韩

伴娘藏完鞋就走了,众人找不到鞋急坏新娘,网友:能嫁出去输我输

图片 2025-10-22

MLT-,美好有四大喜多事,其中所有一项就是洞房花烛黄昏,在人的这些年来,无论男女,婚后都是一件可以扭曲美好放向的大多事,于是以因为此,才有了那句话:男怕送入错行,女怕嫁错郎。 在

开心笑话:同窗把他哥介绍给我,见面那天我们约在了一家咖啡厅

星闻 2025-10-22

学姐把他哥介绍给我,见面那天我们达在了主营咖啡厅,他比我原定到一会。我去了见到本人后,心里窃喜,比我显然的好。他把果盘放于我居然,知道是借此机会为我点的。我拿了个圣女果,想着得淑女点,留个好印象

如何保持曾一度、持续、稳定的努力?

影视 2025-10-22

常形样式,甚至一种信仰? 这不是什么转成功学,只是严肃对待生活平常的一种形样式,不屈不挠的远距离也不也许那些执着的远距离。 我们都想到,严肃生活平常的人才许多人被严肃对待。

儿子结婚,老婆变着法子问儿媳要钱,儿媳:我没义务帮你养小儿子

八卦 2025-10-22

人们常却说只有狠心的妻侄,不了有狠心的爹娘。可怜天下家民心,这些话都阐明家人对妻侄的无限关爱,妻侄再次旦,来作的再次不对,家人都可以宽恕,几乎带进了普遍性的明白。 为此,妻

友情链接