机器学习之信用卡欺诈检测(零基础,附数据及详细python代码2022年Tensorflow2)
首先该数据参考:机器学习项目实战之信用卡欺诈检测(零基础,附数据及详细python代码)
(4条消息) 机器学习项目实战之信用卡欺诈检测(零基础,附数据及详细python代码)_西南交大-Liu_z的博客-CSDN博客_信用卡欺诈检测pythonhttps://blog.csdn.net/qq_40683479/article/details/89221558
对于参考链接上的pandas的ix 提取数据列,会出现错误,故相应进行修改使用panda的iloc功能实现:
(6条消息) Python: pandas中ix的详细讲解_anshuai_aw1的博客-CSDN博客_.ixhttps://blog.csdn.net/anshuai_aw1/article/details/82801435
参考代码如下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
data = pd.read_csv('creditcard.csv')
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")
from sklearn.preprocessing import StandardScaler
#StandardScaler作用:去均值和方差归一化。且是针对每一个特征维度来做的,而不是针对样本。
data['normAmount'] = StandardScaler().fit_transform(data['Amount'].values.reshape(-1, 1))
#删除Time和Amount所在的列
data = data.drop(['Time','Amount'],axis=1)
data.head()
前面代码和最上的链接一致,然后后续代码使用iloc
X = data.iloc[:, data.columns != 'Class']
y = data.iloc[:, data.columns == 'Class']
print(X)
print(y)
#X为取出所有属性,不包含class的这一列
#y为取出class这一列
#计算出class==1(存在欺诈行为)元素有多少个
number_records_fraud = len(data[data.Class == 1])
#取出class==1的行索引
fraud_indices = np.array(data[data.Class == 1].index)#取出class==0的行索引
normal_indices = data[data.Class == 0].index#随机选择和1这个属性样本个数相同的0样本
random_normal_indices = np.random.choice(normal_indices, number_records_fraud, replace = False)
#转换成numpy的格式
random_normal_indices = np.array(random_normal_indices)#将class=0和1的样本的索引拼接在一起
under_sample_indices = np.concatenate([fraud_indices,random_normal_indices])# #下采样的数据集
# under_sample_data = data.iloc[under_sample_indices,:]
# #下采样数据集的数据
# X_undersample = under_sample_data.ix[:, under_sample_data.columns != 'Class']
# #下采样数据集的label
# y_undersample = under_sample_data.ix[:, under_sample_data.columns == 'Class']
#下采样的数据集
under_sample_data = data.iloc[under_sample_indices,:]#下采样数据集的数据
X_undersample = under_sample_data.iloc[:, under_sample_data.columns != 'Class']
#下采样数据集的label
y_undersample = under_sample_data.iloc[:, under_sample_data.columns == 'Class']#打印Class == 0的样本数目
print("Percentage of normal transactions: ", len(under_sample_data[under_sample_data.Class == 0])/len(under_sample_data))
#打印Class == 0的样本数目
print("Percentage of fraud transactions: ", len(under_sample_data[under_sample_data.Class == 1])/len(under_sample_data))
#打印下采样の1总数量
print("Total number of transactions in resampled data: ", len(under_sample_data))
机器学习之信用卡欺诈检测(零基础,附数据及详细python代码2022年Tensorflow2)相关推荐
- 【机器学习】信用卡欺诈检测 (下采样、SMOTE过采样、集成学习、Pytorch)
2022.4.17 补充 视频:[参考:6-01 信用卡交易欺诈数据检测 _哔哩哔哩_bilibili] [参考:机器学习/Kaggle/信用卡欺诈检测/Tommy/数据不平衡.ipynb · mya ...
- 【实战案例】分享6种常用的信用卡欺诈检测算法(附 Python 代码)
大家好,本文旨在使用 XGBoost.随机森林.KNN.逻辑回归.SVM 和决策树解决信用卡潜在欺诈的分类问题,内容较长,建议收藏.点赞. 文章目录 技术提升 案例简介 导入相关模块 导入数据 探索性 ...
- 【机器学习】信用卡欺诈检测|用启发式搜索优化XGBoost超参数
本文将展示如何使用模拟退火[1]启发式搜索[2]机器学习算法中超参数的最佳组合.这些方法比盲随机生成参数得到的模型效果好.另外,模型效果最好是分别微调每个超参数,因为它们之间通常存在交互. 模拟退火简 ...
- 零基础如何用 15 行 Python 代码搞定网易云热门歌单?
健身.吃饭.敲代码:等车.撸猫.下午茶--若能佐以合适的音乐当"配餐",总是惬意非常.本文就将带你爬一爬网易云的那些热门歌单! 作者 | 上海小胖 责编 | 仲培艺 心情好或心情坏 ...
- qiuzitao机器学习(六):信用卡欺诈检测项目
机器学习实战–信用卡欺诈检测项目 学校大三校企合作的课程设计项目 一.任务基础 拿到的信用卡数据集是由欧洲人于2013年9月使用信用卡进行交易的数据.此数据集显示两天内发生的交易,其中284807笔交 ...
- 机器学习实战分享:用 Python 进行信用卡欺诈检测
本文旨在使用 XGBoost.随机森林.KNN.逻辑回归.SVM 和决策树解决分类问题,内容较长,建议收藏.关注.点赞. 案例简介 假设你受雇于帮助一家信用卡公司检测潜在的欺诈案件,你的工作是确保客户 ...
- 机器学习项目实战----信用卡欺诈检测
一.任务基础 数据集包含由欧洲人于2013年9月使用信用卡进行交易的数据.此数据集显示两天内发生的交易,其中284807笔交易中有492笔被盗刷.数据集非常不平衡,正例(被盗刷)占所有交易的0.172 ...
- 机器学习项目实战----信用卡欺诈检测(一)
一.任务基础 数据集包含由欧洲人于2013年9月使用信用卡进行交易的数据.此数据集显示两天内发生的交易,其中284807笔交易中有492笔被盗刷.数据集非常不平衡,正例(被盗刷)占所有交易的0.172 ...
- 机器学习项目实战----信用卡欺诈检测(二)
六.混淆矩阵: 混淆矩阵是由一个坐标系组成的,有x轴以及y轴,在x轴里面有0和1,在y轴里面有0和1.x轴表达的是预测的值,y轴表达的是真实的值.可以对比真实值与预测值之间的差异,可以计算当前模型衡量 ...
最新文章
- ant 获取当前url的参数
- git reset到之前的某一个commit或者恢复之前删除的某一个分支
- NetDevOps — NETCONF/YANG 协议
- 4、kubernetes资源清单快速入门190625
- Otter 异地机房数据同步的demo实施
- PAT甲级题目翻译+答案 AcWing(字符串处理)
- pythoncsv数据怎么读_python如何读写csv数据
- 阮一峰react demo代码研究的学习笔记 - ReactMount.render
- android中常见的回调模式
- selenium API(二)
- Python使用marshal模块操作二进制文件
- windows查看及配置路由
- python函数定义及调用-python 函数定义及调用
- 禁止按钮在一定时间内连续点击
- 前端学习之--CSS
- NoSQL 数据库比较
- 配置引导工具Clover Configurator for Mac——可以产生创建修改四叶草EFI配置文件
- 数据可视化平台Superset 简介
- Android手机使用笔记本流量上网(基于Android便携式WLAN热点)
- 短视频代运营服务内容