使用自动编码器和 Keras 预测欺诈

在本文中,我们将训练一个自动编码器来检测信用卡欺诈。我们还将演示如何使用 CloudML 在云中训练 Keras 模型。我们模型的基础将是 Kaggle 信用卡欺诈检测数据集。

来源:RStudio AI博客

概述

在本文中,我们将训练自动编码器来检测信用卡欺诈。我们还将演示如何使用 CloudML 在云中训练 Keras 模型。

CloudML

我们模型的基础是 Kaggle 信用卡欺诈检测数据集,该数据集是在 Worldline 和布鲁塞尔自由大学 (ULB) 机器学习小组在大数据挖掘和欺诈检测方面的研究合作期间收集的。

信用卡欺诈检测 机器学习组

该数据集包含欧洲持卡人在 2013 年 9 月两天内进行的信用卡交易。在 284,807 笔交易中,有 492 笔是欺诈。该数据集高度不平衡,正类(欺诈)仅占所有交易的 0.172%。

读取数据

从 Kaggle 下载数据后,您可以使用 read_csv() 将其读入 R:

Kaggle read_csv()
library(readr)df <- read_csv("data-raw/creditcard.csv", col_types = list(Time = col_number()))
library(readr)df <- read_csv("data-raw/creditcard.csv", col_types = list(Time = col_number())) library(readr) library library ( readr readr ) df <- read_csv("data-raw/creditcard.csv", col_types = list(Time = col_number())) df <- read_csv ( "data-raw/creditcard.csv" = list list ( = col_number ( ) ) )

输入变量仅由数值组成,这些数值是 PCA 转换的结果。为了保密,未提供有关原始特征的更多信息。特征 V1、…、V28 是通过 PCA 获得的。但是有 2 个特征(时间和金额)没有转换。时间是数据集中每笔交易与第一笔交易之间相隔的秒数。金额是交易金额,可用于成本敏感学习。如果存在欺诈,则 Class 变量的值为 1,否则为 0。

时间 金额 时间 金额

自动编码器

自动编码器 Larochelle 视频 第 14 章 深度学习

可视化

[0,1] 预处理

最小-最大归一化

时间 时间 库(purrr) ( purrr purrr ) get_desc <- function(x) {