异常值检测功能

Posted

技术标签:

【中文标题】异常值检测功能【英文标题】:Outlier detection function 【发布时间】:2017-07-05 03:20:00 【问题描述】:

我已经创建了检测数据集异常值的函数,但是当我应用它时显示错误,代码和错误如下所示。

功能

def find_outlairs_tukey(x):
    q1 = np.percentile(x, 25)
    q3 = np.percentile(x, 75)
    iqr = q3 - q1
    floor = q1 - 1.5*iqr
    ceiling = q3 + 1.5*iqr
    outlair_indices = list(x.index[(x < floor) | (x > ceiling)])
    outlair_values = list(x[outlair_indices])

申请

LotFrontage_indices, LotFrontage_values = find_outlairs_tukey(house_1['LotArea'])
print(np.sort(turkey_values))

错误

TypeError                                 Traceback (most recent call last)
<ipython-input-208-4923f848f510> in <module>()
----> 1 LotFrontage_indices, LotFrontage_values = find_outlairs_tukey(house_1['LotArea'])
      2 print(np.sort(turkey_values))

TypeError: 'NoneType' object is not iterable

【问题讨论】:

【参考方案1】:

给你的函数添加返回值:

return outlair_indices, outlair_values

【讨论】:

以上是关于异常值检测功能的主要内容,如果未能解决你的问题,请参考以下文章

大数据科学家需要掌握的几种异常值检测方法

Novelty and Outlier Detection(奇异值和异常值检测)

异常点检测方法

R异常数据检测及处理方法

是否可以在 ML.Net 中进行多元无监督异常(异常值)检测?

如何检测业务数据中的异常