首先该数据参考:机器学习项目实战之信用卡欺诈检测(零基础,附数据及详细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)相关推荐

  1. 【机器学习】信用卡欺诈检测 (下采样、SMOTE过采样、集成学习、Pytorch)

    2022.4.17 补充 视频:[参考:6-01 信用卡交易欺诈数据检测 _哔哩哔哩_bilibili] [参考:机器学习/Kaggle/信用卡欺诈检测/Tommy/数据不平衡.ipynb · mya ...

  2. 【实战案例】分享6种常用的信用卡欺诈检测算法(附 Python 代码)

    大家好,本文旨在使用 XGBoost.随机森林.KNN.逻辑回归.SVM 和决策树解决信用卡潜在欺诈的分类问题,内容较长,建议收藏.点赞. 文章目录 技术提升 案例简介 导入相关模块 导入数据 探索性 ...

  3. 【机器学习】信用卡欺诈检测|用启发式搜索优化XGBoost超参数

    本文将展示如何使用模拟退火[1]启发式搜索[2]机器学习算法中超参数的最佳组合.这些方法比盲随机生成参数得到的模型效果好.另外,模型效果最好是分别微调每个超参数,因为它们之间通常存在交互. 模拟退火简 ...

  4. 零基础如何用 15 行 Python 代码搞定网易云热门歌单?

    健身.吃饭.敲代码:等车.撸猫.下午茶--若能佐以合适的音乐当"配餐",总是惬意非常.本文就将带你爬一爬网易云的那些热门歌单! 作者 | 上海小胖 责编 | 仲培艺 心情好或心情坏 ...

  5. qiuzitao机器学习(六):信用卡欺诈检测项目

    机器学习实战–信用卡欺诈检测项目 学校大三校企合作的课程设计项目 一.任务基础 拿到的信用卡数据集是由欧洲人于2013年9月使用信用卡进行交易的数据.此数据集显示两天内发生的交易,其中284807笔交 ...

  6. 机器学习实战分享:用 Python 进行信用卡欺诈检测

    本文旨在使用 XGBoost.随机森林.KNN.逻辑回归.SVM 和决策树解决分类问题,内容较长,建议收藏.关注.点赞. 案例简介 假设你受雇于帮助一家信用卡公司检测潜在的欺诈案件,你的工作是确保客户 ...

  7. 机器学习项目实战----信用卡欺诈检测

    一.任务基础 数据集包含由欧洲人于2013年9月使用信用卡进行交易的数据.此数据集显示两天内发生的交易,其中284807笔交易中有492笔被盗刷.数据集非常不平衡,正例(被盗刷)占所有交易的0.172 ...

  8. 机器学习项目实战----信用卡欺诈检测(一)

    一.任务基础 数据集包含由欧洲人于2013年9月使用信用卡进行交易的数据.此数据集显示两天内发生的交易,其中284807笔交易中有492笔被盗刷.数据集非常不平衡,正例(被盗刷)占所有交易的0.172 ...

  9. 机器学习项目实战----信用卡欺诈检测(二)

    六.混淆矩阵: 混淆矩阵是由一个坐标系组成的,有x轴以及y轴,在x轴里面有0和1,在y轴里面有0和1.x轴表达的是预测的值,y轴表达的是真实的值.可以对比真实值与预测值之间的差异,可以计算当前模型衡量 ...

最新文章

  1. ant 获取当前url的参数
  2. git reset到之前的某一个commit或者恢复之前删除的某一个分支
  3. NetDevOps — NETCONF/YANG 协议
  4. 4、kubernetes资源清单快速入门190625
  5. Otter 异地机房数据同步的demo实施
  6. PAT甲级题目翻译+答案 AcWing(字符串处理)
  7. pythoncsv数据怎么读_python如何读写csv数据
  8. 阮一峰react demo代码研究的学习笔记 - ReactMount.render
  9. android中常见的回调模式
  10. selenium API(二)
  11. Python使用marshal模块操作二进制文件
  12. windows查看及配置路由
  13. python函数定义及调用-python 函数定义及调用
  14. 禁止按钮在一定时间内连续点击
  15. 前端学习之--CSS
  16. NoSQL 数据库比较
  17. 配置引导工具Clover Configurator for Mac——可以产生创建修改四叶草EFI配置文件
  18. 数据可视化平台Superset 简介
  19. Android手机使用笔记本流量上网(基于Android便携式WLAN热点)
  20. 短视频代运营服务内容

热门文章

  1. 物联网小课堂之NB-IoT黑科技——长连接方案x2
  2. ehviewer_EhViewer官方下载_EhViewer最新版app下载 安卓版v1.7.1 - 浪浪下载
  3. 什么?你也被问到JVM了
  4. 基于面向对象 来写一个简单的贪吃蛇小游戏(代码可直接用)
  5. 排名前6位的最流行的大数据框架,你在用哪一款?
  6. Hiredis快速入门
  7. c语言里面的float是什么意思
  8. 计算机里没有四款小游戏,电脑里一些隐藏在程序里有趣的小游戏
  9. 【测试工程师】关于软件测试的10条建议
  10. 在Xml中加注释的方法