绘图展示虚假和正常交易在所有交易中的占比
数据说明
- 因为涉及到商业秘密和客户隐私,数据文件是原始记录经过主成分分析法PCA(从较多维度数据中提取出有价值的较少维度的数据,从而降低数据挖掘算法的计算难度)以后提取出来的。
- 一共有284807条记录,每条记录对应一次交易的持卡人信息或者交易信息。
- 每条记录由28个字段,用V1,V2……V28表示,除了交易时间和交易金额是原始数据之外,其他字段都经过了转换。“Class”属性取1,则表示是一个虚假交易;0则表示是正常交易。
import pandas as pd
import matplotlib.pyplot as plt # 导入绘图库
plt.rcParams['font.family']='SimHei' # 设置黑体字体以正常显示中文
plt.rcParams['axes.unicode_minus']=False # 正常显示负号
plt.rcParams['font.size'] = 13
plt.rcParams['font.sans-serif']=['SimHei']
df = pd.read_csv('creditcard.csv')
#df内容查看
fraud_count = df[df['Class'] == 1]['Class'].count() #虚假数据
normal_count = df[df['Class'] == 0]['Class'].count() #正常数据
sizes=[normal_count,fraud_count]
labels = ['正常交易','虚假交易']
plt.figure(figsize=(7,7))
plt.pie(sizes,labels=labels,autopct='%1.2f%%',startangle=60)
plt.axis('equal')
plt.title('正常交易和虚假交易的占比')
plt.savefig('7周课后T1.png')
plt.show()
#饼图效果