使用Z标准化得到的阈值判断异常值

本文介绍了一种使用Z标准化方法确定数据异常值的策略。通过计算Z-Score并设置阈值(如2.2),当得分超过该阈值时,视为异常。示例代码展示了如何使用Pandas进行数据处理,包括数据框创建、Z-Score计算以及异常值判断。此外,还讨论了在缺乏固定业务规则时,如何依据概率分布、聚类、密度、分类和统计方法进行异常值识别,强调了异常值判断的主观性。
摘要由CSDN通过智能技术生成

有关异常值的确定有很多规则和方法,这里使用Z标准化得到的阈
值作为判断标准:当标准化后的得分超过阈值则为异常。完整代码如
下:

import pandas as pd # 导入Pandas库
# 生成异常数据
df = pd.DataFrame({'col1': [1, 120, 3, 5, 2, 12, 13],
'col2': [12, 17, 31, 53, 22, 32, 43]})
print (df) # 打印输出
# 通过Z-Score方法判断异常值
df_zscore = df.copy() # 复制一个用来存储Z-score得分的数据框
cols = df.columns # 获得数据框的列名
for col in cols: # 循环读取每列
df_col = df[col] # 得到每列的值
z_score = (df_col - df_col.mean()) / df_col.std() # 计算每列的Z-score得分
df_zscore[col] = z_score.abs() > 2.2 # 判断Z-score得分是否大于2.2,如果是
则为True,否则为False
print (df_zscore) # 打印输出

示例代码用空行分为3个部分:
第一部分导入本例需要的Pandas库。

第二部分生成异常数据。直接通过DataFrame创建一个7行2列的数
据框。

第三部分为缺失值判断过程。本过程中,先通过df.copy()复制一
个原始数据框的副本用来存储Z-Score标准化后的得分,再通过
df.columns获得原始数据框的列名,接着通过循环来判断每一列中的异
常值。在判断逻辑中,对每一列的数据使用自定义的方法做Z-Score值
标准化得分计算,然后跟阈值2.2做比较&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值