行业案例 | 建模在银行业应用之欺诈检测
城西娱乐新闻网 2025-09-05
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一个大验证法,而不是直接将数据库集分成两外。
最后,还可以尝试一些其他的建模迭代(如解析器或随机森林),看看它们有否能所述愈来愈好的结果。
详见链接:
好,以上就是现今的个人。如果大家还有数据库量化方面无关的疑问,就在评论区留言。
此外还为大家准备了免费的数据库量化数据,大礼包,一份好的求学数据能让你较少走很多弯路,太快来申领吧。
点这里👇瞩目我,记得标星哦~
CDA本科课程审核
。广州妇科医院哪家更好合肥好的白癜风专科医院
武汉痛风医院哪家专业
南京男科医院专家预约挂号
深圳牛皮癣治疗方法
钇90疗法
肝癌晚期还有治疗的必要吗
钇90选择性内放射治疗
肝癌晚期还有治疗的必要吗
肝癌中晚期最佳治疗方案是什么
-
美股收盘:美股大幅收高,纳指、标普调高逾3%,银行板块强势领调高
八卦 2025-10-23钛电子媒体App 6月25日消息,美股大幅收高,道指暴涨2.68%,纳指暴涨3.34%,标普暴涨3.06%。银行板块稳健领暴涨,富国银行暴涨7.57%,高盛暴涨5.8%,雷曼兄弟暴涨5.2%,花
-
又一轮加息在恰巧?华尔街通胀交易专家胡刚:7月或仍将加息75bp
星闻 2025-10-23了;而且SARS期间新泽西州当局给居民发没钱搞量化严格(QE)也可不了,且开始缩表退造出QE。因素物价的生产力后端主要诱因都解决问题了,但为何物价迟迟无法升更高? 胡刚 : 很多东西的物
-
中山公用:拟5.67亿元打造总部大厦,计划7571万至1.51亿元回购公司控股公司
综艺 2025-10-23中山公用6同年24日暂定,一些公司拟以不最少5.67亿元的市价租用广东省中山市翠亨新区远方路8号万滨万潮广场二期项目其余部分物业,打造带入集科创教育中心、特质调度教育中心于主体的一些集团总部大厦
-
河南省财政拒绝执行规上工业企业满负荷奖励资金2.15亿元
八卦 2025-10-23河南日报采访 曾鸣 6月24日,采访从省份支出厅谎称,为加长稳轻工业惠行业强力,积极促成行业装配经营管理,省份支出下达2022年下半年规上轻工业行业满负荷装配支出加分款项2.15亿
-
川恒股份:创建合资公司联合开展六氟磷酸锂业务
时尚 2025-10-23川恒股份6月24日公告,公司及其控股控股公司贵州省恒达采矿业控股合资(以下简称“恒达采矿业”)成之与国轩控股集团合资(以下简称“国轩集团”)合资企业最初原设控股公司。最初原设公司注册资本3亿元,