解析金融反欺诈技术的应用与实践
統計學分為兩大部分,描述性統計學和推斷性統計學。而描述性統計學在建模的時候往往是很重要而又容易被人忽略的一步, 而它的作用往往如下:
1.發現數據中的異常
2.通過分布圖發現離群值點
3.檢查數據缺失情況
4.檢查標簽占比情況,如壞樣本太少的話,需要抽樣調整好壞樣本比例
所需模塊python模塊
matplotlib
pandas
seaborn
numpy
SciPy
例子
首先用numpy來創造一組隨機數,我這邊創造一組正態分布的隨機數,總共50個用于實驗。
from numpy.random import normal, randint
datatest= normal(0, 50, size=50)
一般描述性統計的統計量有均值,眾數,中位數,極差,標準差,方差
這三種重要的統計量,可以分別用numpy包,SciPy包,pandas包計算
Numpy包計算方法
from numpy import mean, median
import numpy as np
np.mean(datatest)---計算均值
np.median(datatest)—計算中位數
np.std(datatest)—計算標準差
np.var(datatest)—計算方差
scipy包計算方法
from scipy.stats import mode
mode(datatest)
pandas包計算方法
用pandas計算統計量,需要先把數據轉換重pandas的數據框格式
先加列名’number’,轉為字典
datatestn={'number':datatest}
再轉為dataframe格式
datatestn =pd.DataFrame(datatestn)
就可以直接用
datatestn.mean()
datatestn.median()
datatestn.mode()
或者一步到位
datatestn.describe()
?
如上,產出數量,均值,標準差,最大最小值,以及各分位點。
datatestn.skew()
datatestn.kurt()
針對我們自己要分析的數據,可以在sas上面處理完,用python讀取,例如:
datatestnnn=pd.read_sas(‘D:\dataplay.sas7bdat’)
datatestnnn['salary'].shape—取收入變量,再看行數和列數
然后用剛才提到的一系列方法分析,當用datatestnnn.skew()計算出來的偏度越大且為正數,說明數據的分布重尾在右邊,右邊的極端值較多,可能有較多的異常值。
?
可視化
可視化可以用matplotlib包和seaborn包,就可以從圖片觀察數據的分布,有直觀的感覺。
import matplotlib.pyplot as plt
plt.hist(datatest,bins=50,color='b')
plt.xlabel('number')
plt.ylabel(Frequency’)
?
import seaborn as sns
sns.distplot(datatest)
?
要做箱線圖的話可以執行以下代碼
from pylab import *
?
總結
以上是生活随笔為你收集整理的解析金融反欺诈技术的应用与实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【采用】无监督学习在反欺诈中的应用
- 下一篇: 移动金融业务风控框架及设备风险识别的意义