机器学习实战之信用卡诈骗(一)
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))
机器学习实战之信用卡诈骗(一)相关推荐
- 信用卡欺诈检测python_Python机器学习实战:信用卡欺诈检测
原标题:Python机器学习实战:信用卡欺诈检测 本文作者:唐宇迪 ,文末有彩蛋!本期送书python! 故事背景:原始数据为个人交易记录,但是考虑数据本身的隐私性,已经对原始数据进行了类似PCA的处 ...
- 机器学习实战 | Python 信用卡欺诈检测其实特简单
本文旨在使用 XGBoost.随机森林.KNN.逻辑回归.SVM 和决策树解决分类问题.喜欢记得收藏.关注.点赞. 注:文末提供技术交流群 案例简介 假设你受雇于帮助一家信用卡公司检测潜在的欺诈案件, ...
- 机器学习实战:信用卡欺诈检测
本文旨在使用 XGBoost.随机森林.KNN.逻辑回归.SVM 和决策树解决分类问题 案例简介 假设你受雇于帮助一家信用卡公司检测潜在的欺诈案件,你的工作是确保客户不会因未购买的商品而被收取费用.给 ...
- 【阿旭机器学习实战】【24】信用卡用户流失预测实战
[阿旭机器学习实战]系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流. 本文针对某国外匿名化处理后的信用卡真实数据集,通过建模判断该用户是否已经流失,包括特征处理与分类模 ...
- 机器学习实战-数据探索(变量变换、生成)
原文链接:点击打开链接 <机器学习实战-数据探索(1.变量识别:2.单变量分析:3.双变量分析)> 机器学习实战-数据探索(缺失值处理) 机器学习实战-数据探索(异常值处理) 上面三篇文章 ...
- 《机器学习实战:基于Scikit-Learn、Keras和TensorFlow(第2版)》学习笔记
文章目录 书籍信息 技术和工具 Scikit-Learn TensorFlow Keras Jupyter notebook 资源 书籍配套资料 流行的开放数据存储库 元门户站点(它们会列出开放的数据 ...
- 机器学习实战之路 —— 5 SVM支持向量机
机器学习实战之路 -- 5 SVM支持向量机 1. 支持向量机概述 1.1 线性分类 1.2 非线性分类 2. 支持向量机分类中的问题 2.1 核函数的选择 2.2 多类分类 2.3 不平衡数据的处理 ...
- 《机器学习实战》学习笔记(七):利用AdaBoost 元算法提高分类性能
欢迎关注WX公众号:[程序员管小亮] [机器学习]<机器学习实战>读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details ...
- 数据分析与机器学习实战(一)——机器学习基础
数据分析与机器学习实战(一)--机器学习基础 数据分析与机器学习实战(二)--聚类分析(以K-means聚类为例) 文章目录 数据分析与机器学习实战(一)--机器学习基础 数据分析与机器学习实战(二) ...
- 机器学习实战笔记(Python实现)-03-朴素贝叶斯
--------------------------------------------------------------------------------------- 本系列文章为<机器 ...
最新文章
- hadoop面试记录(一)
- python可以做什么系统-用python做推荐系统(一)
- 【杂谈】手把手带你配置深度学习环境
- JavaScript循环定时器的设置和取消
- Educational Codeforces Round 30 C
- 1002 A+B for Polynomials (25分)_29行代码AC
- SQL SERVER的锁机制(四)——概述(各种事务隔离级别发生的影响)
- position_css
- liferay6连接mysql_Liferay 6开发学习(二十六):数据库连接相关问题
- 数据--第36课 - 遍历二叉树
- IM开发通信协议基础知识(一)---TCP、UDP、HTTP、SOCKET
- WS2811是三通道LED驱动控制专用电路彩灯带专用方案开发IC
- Java利用poi-tl实现富文本HTML转Word
- LabView替代软件,ATECLOUD云测试平台测评
- win10:如何书写.reg文件修改注册表
- 计算机主机开机 风扇没有转动,电脑开机黑屏,电源风扇和CPU风扇都正常转动,但是显示器无任何显示,正常的一声滴,萤幕什么都不显示...
- 3D建模入门,Zbrush插件zwrap拓扑技巧教程,仅适用24K纯萌新!
- “麦田音乐节·超时空歌会”即将破空 探索元宇宙虚拟演唱会新形式
- 初识ELF格式 ABI,EABI,OABI
- C语言如何输入带空格的字符串?
热门文章
- JMeter 进行 MD5加密
- 我的 Hadoop 3.2.2 之旅 【收藏夹吃灰系列】
- 企业微信有什么用,介绍企业微信6个强大的功能
- 2160亿元电费如何降下来?地方5G“硬核”政策助力
- 剑指 Offer(C++版本)系列:剑指 Offer 13 机器人的运动范围
- Emoji表情存入数据库报错:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F…'
- web onblur string
- 图像加密--chua's chaos and baker's transformation
- 一年中最后一个月的最后一天说说_2020年最后一个月的朋友圈说说句子
- shell 编程大全