import pandas as pd
import matplotlib.pyplot as plt
import numpy as np#  读取数据
data = pd.read_csv('creditcard.csv')
print(data.head())count_classes = pd.value_counts(data['Class'], sort = True).sort_index()
count_classes.plot(kind='bar')
plt.title('Fraud Class histogram')
plt.xlabel('Class')
plt.ylabel("Frequency")
plt.show()

样本不均衡
样本数据不均衡的情况时 采用 下采样 和 过采样
下采样 :让0和1数据一样小,样本同样少 过采样: 样本同样多

from sklearn.preprocessing import StandardScaler
data['normAmount'] = StandardScaler().fit_transform(data['Amount'].values.reshape(-1, 1))
data = data.drop(['Time', 'Amount'], axis=1)
print(data.head())

下采样:

# 下采样
X = data.ix[:, data.columns !='Class']
y = data.ix[:, data.columns =='Class']number_records_fraud = len(data[data.Class == 1])
fraud_indeices = np.array(data[data.Class == 1].index)normal_indices = data[data.Class == 0].indexrandom_normal_indices = np.random.choice(normal_indices, number_records_fraud, replace=False)
random_normal_indices = np.array(random_normal_indices)#合并
under_sample_indices = np.concatenate([fraud_indeices,random_normal_indices])under_sample_data = data.iloc[under_sample_indices,:]X_undersample = under_sample_data.ix[:,under_sample_data.columns !='Class']
X_undersample = under_sample_data.ix[:,under_sample_data.columns =='Class']print('Percentage of nomal transaction:,', len(under_sample_data[under_sample_data.Class == 0])/len(under_sample_data))
print('Percentage of Fraud transaction:,', len(under_sample_data[under_sample_data.Class == 1])/len(under_sample_data))
print('reasmpled data 总的 transactions:', len(under_sample_data))

交叉验证

#交叉验证from sklearn.cross_validation import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3, random_state = 0)X_train_undersample, X_test_undersample, y_train_undersample,y_test_undersample =train_test_split(X_undersample,y_undersample,test_size,random_state)
print('')
print('Number transact train dataset: ', len(X_train))
print('Number transact test dataset: ', len(X_test))
print('Total number of transaction: ', len(X_train_undersample)+len(X_test_undersample))

机器学习实战之信用卡诈骗(一)相关推荐

  1. 信用卡欺诈检测python_Python机器学习实战:信用卡欺诈检测

    原标题:Python机器学习实战:信用卡欺诈检测 本文作者:唐宇迪 ,文末有彩蛋!本期送书python! 故事背景:原始数据为个人交易记录,但是考虑数据本身的隐私性,已经对原始数据进行了类似PCA的处 ...

  2. 机器学习实战 | Python 信用卡欺诈检测其实特简单

    本文旨在使用 XGBoost.随机森林.KNN.逻辑回归.SVM 和决策树解决分类问题.喜欢记得收藏.关注.点赞. 注:文末提供技术交流群 案例简介 假设你受雇于帮助一家信用卡公司检测潜在的欺诈案件, ...

  3. 机器学习实战:信用卡欺诈检测

    本文旨在使用 XGBoost.随机森林.KNN.逻辑回归.SVM 和决策树解决分类问题 案例简介 假设你受雇于帮助一家信用卡公司检测潜在的欺诈案件,你的工作是确保客户不会因未购买的商品而被收取费用.给 ...

  4. 【阿旭机器学习实战】【24】信用卡用户流失预测实战

    [阿旭机器学习实战]系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流. 本文针对某国外匿名化处理后的信用卡真实数据集,通过建模判断该用户是否已经流失,包括特征处理与分类模 ...

  5. 机器学习实战-数据探索(变量变换、生成)

    原文链接:点击打开链接 <机器学习实战-数据探索(1.变量识别:2.单变量分析:3.双变量分析)> 机器学习实战-数据探索(缺失值处理) 机器学习实战-数据探索(异常值处理) 上面三篇文章 ...

  6. 《机器学习实战:基于Scikit-Learn、Keras和TensorFlow(第2版)》学习笔记

    文章目录 书籍信息 技术和工具 Scikit-Learn TensorFlow Keras Jupyter notebook 资源 书籍配套资料 流行的开放数据存储库 元门户站点(它们会列出开放的数据 ...

  7. 机器学习实战之路 —— 5 SVM支持向量机

    机器学习实战之路 -- 5 SVM支持向量机 1. 支持向量机概述 1.1 线性分类 1.2 非线性分类 2. 支持向量机分类中的问题 2.1 核函数的选择 2.2 多类分类 2.3 不平衡数据的处理 ...

  8. 《机器学习实战》学习笔记(七):利用AdaBoost 元算法提高分类性能

    欢迎关注WX公众号:[程序员管小亮] [机器学习]<机器学习实战>读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details ...

  9. 数据分析与机器学习实战(一)——机器学习基础

    数据分析与机器学习实战(一)--机器学习基础 数据分析与机器学习实战(二)--聚类分析(以K-means聚类为例) 文章目录 数据分析与机器学习实战(一)--机器学习基础 数据分析与机器学习实战(二) ...

  10. 机器学习实战笔记(Python实现)-03-朴素贝叶斯

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

最新文章

  1. hadoop面试记录(一)
  2. python可以做什么系统-用python做推荐系统(一)
  3. 【杂谈】手把手带你配置深度学习环境
  4. JavaScript循环定时器的设置和取消
  5. Educational Codeforces Round 30 C
  6. 1002 A+B for Polynomials (25分)_29行代码AC
  7. SQL SERVER的锁机制(四)——概述(各种事务隔离级别发生的影响)
  8. position_css
  9. liferay6连接mysql_Liferay 6开发学习(二十六):数据库连接相关问题
  10. 数据--第36课 - 遍历二叉树
  11. IM开发通信协议基础知识(一)---TCP、UDP、HTTP、SOCKET
  12. WS2811是三通道LED驱动控制专用电路彩灯带专用方案开发IC
  13. Java利用poi-tl实现富文本HTML转Word
  14. LabView替代软件,ATECLOUD云测试平台测评
  15. win10:如何书写.reg文件修改注册表
  16. 计算机主机开机 风扇没有转动,电脑开机黑屏,电源风扇和CPU风扇都正常转动,但是显示器无任何显示,正常的一声滴,萤幕什么都不显示...
  17. 3D建模入门,Zbrush插件zwrap拓扑技巧教程,仅适用24K纯萌新!
  18. “麦田音乐节·超时空歌会”即将破空 探索元宇宙虚拟演唱会新形式
  19. 初识ELF格式 ABI,EABI,OABI
  20. C语言如何输入带空格的字符串?

热门文章

  1. JMeter 进行 MD5加密
  2. 我的 Hadoop 3.2.2 之旅 【收藏夹吃灰系列】
  3. 企业微信有什么用,介绍企业微信6个强大的功能
  4. 2160亿元电费如何降下来?地方5G“硬核”政策助力
  5. 剑指 Offer(C++版本)系列:剑指 Offer 13 机器人的运动范围
  6. Emoji表情存入数据库报错:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F…'
  7. web onblur string
  8. 图像加密--chua's chaos and baker's transformation
  9. 一年中最后一个月的最后一天说说_2020年最后一个月的朋友圈说说句子
  10. shell 编程大全