副问题[/!--empirenews.page--]
媒介:
本文研究的是大数据量(284807条数据)下模子选择的题目,也参考了一些文献,但大多不足清楚,因此吐血清算本文,但愿对各人有辅佐;
本文试着从数据说明师的角度,假想“拿到数据该怎样探求纪律、选哪种模子来构建反诓骗模子?”的角度来说明,以营业导向为主,不穷究算法道理;
下一篇文章会声名数据布局十分不服衡的环境下,该怎样批改数据集、怎样调解参数。
数据来历及项目轮廓
数据是从kaggle上看到的项目,详细链接如下:
https://www.kaggle.com/mlg-ulb/creditcardfraud
获取本例数据的,可在上述项目详情链接中下载数据。
数据集包括欧洲持卡人于2013年9月通过名誉卡举办的买卖营业。该数据集提供两天内产生的买卖营业,个中在284,807笔买卖营业中有492起诓骗举动。
数据集很是不服衡,负面种别(诓骗)占全部买卖营业的0.172%。
它只包括数值输入变量,这是PCA调动的功效。不幸的是,因为保密题目,我们无法提供有关数据的原始特性和更多配景信息。特性V1,V2,... V28是用PCA得到的首要组件,独一没有效PCA转换的特性是'Time'和'Amount'。
- “时刻”包括每个事宜与数据齐集第一个事宜之间颠末的秒数。
- '金额'是买卖营业金额,该特性可以用于依靠于例子的本钱敏感性进修。
- “Class”是相应变量,在诓骗的环境下其值为1,不然为0。
2、筹备并起源查察数据集
- # 导入包
- import numpy as np
- import pandas as pd
- import matplotlib.pyplot as plt
- import matplotlib.gridspec as gridspec
- import seaborn as sns; plt.style.use('ggplot')
- import sklearn
- from sklearn.preprocessing import StandardScaler
- from sklearn.model_selection import train_test_split
- from sklearn.utils import shuffle
- from sklearn.metrics import confusion_matrix
- from sklearn.manifold import TSNE
- pass
- # 倒入并查察数据
- crecreditcard_data=pd.read_csv('./creditcard.csv')
- crecreditcard_data.shape,crecreditcard_data.info()
- <class 'pandas.core.frame.DataFrame'>
- RangeIndex: 284807 entries, 0 to 284806
- Data columns (total 31 columns):
- Time 284807 non-null float64
- V1 284807 non-null float64
- V2 284807 non-null float64
- V3 284807 non-null float64
- V4 284807 non-null float64
- V5 284807 non-null float64
- V6 284807 non-null float64
- V7 284807 non-null float64
- V8 284807 non-null float64
- V9 284807 non-null float64
- V10 284807 non-null float64
- V11 284807 non-null float64
- V12 284807 non-null float64
- V13 284807 non-null float64
- V14 284807 non-null float64
- V15 284807 non-null float64
- V16 284807 non-null float64
- V17 284807 non-null float64
- V18 284807 non-null float64
- V19 284807 non-null float64
- V20 284807 non-null float64
- V21 284807 non-null float64
- V22 284807 non-null float64
- V23 284807 non-null float64
- V24 284807 non-null float64
- V25 284807 non-null float64
- V26 284807 non-null float64
- V27 284807 non-null float64
- V28 284807 non-null float64
- Amount 284807 non-null float64
- Class 284807 non-null int64
- dtypes: float64(30), int64(1)
- memory usage: 67.4 MB
- ((284807, 31), None)
- crecreditcard_data.describe()
- pass
- crecreditcard_data.head()
- pass
- # 看看诓骗与非诓骗的比譬喻何
- count_classes=pd.value_counts(crecreditcard_data['Class'],sort=True).sort_index()
- # 统计下详细数据
- count_classes.value_counts()
- # 也可以用count_classes[0],count_classes[1]看别离数据
- 284315 1
- 492 1
- Name: Class, dtype: int64
- count_classes.plot(kind='bar')
- plt.show()
0代表正常,1代表诓骗,二者数目严峻失衡,十分不服衡,基础不在一个数目级上;
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|