开始使用免费开始使用

自然命中率

在本练习中,您将再次使用信用卡交易数据。特征和标签与上一章的数据相似,且数据高度不平衡。我们已经为您提供了可直接使用的特征 X 和标签 y,二者都是 NumPy 数组。

首先,您需要了解数据集中欺诈的发生比例,从而估算如果把所有样本都预测为非欺诈时的"自然准确率"。理解这一基线很重要,这样您才知道需要"超越"的"准确率"水平,以优于什么都不做的预测。在接下来的练习中,您将创建第一个用于欺诈检测的随机森林分类器。这将作为您随后要改进的"基线"模型。

本练习是课程的一部分

Python 中的欺诈检测

查看课程

练习说明

  • 通过获取标签 y 的长度来统计观测总数。
  • 使用对 y 的列表推导统计非欺诈样本数量;请注意 y 是 NumPy 数组,因此此处不能使用 .value_counts()
  • 通过用非欺诈样本数除以观测总数来计算自然准确率。
  • 打印该百分比。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Count the total number of observations from the length of y
total_obs = ____

# Count the total number of non-fraudulent observations 
non_fraud = [i for ____ ____ ____ if i == 0]
count_non_fraud = non_fraud.count(0)

# Calculate the percentage of non fraud observations in the dataset
percentage = (float(____)/float(____)) * 100

# Print the percentage: this is our "natural accuracy" by doing nothing
____(____)
编辑并运行代码