gpt4 book ai didi

Python 只打印符合 if 和 for 的行,异常检测是否过多

转载 作者:太空宇宙 更新时间:2023-11-03 21:29:21 24 4
gpt4 key购买 nike

我对数据应用了异常检测算法,现在我想知道某个值在异常向量中出现了多少次。因为我想找到过度的异常,而我的教授不让我使用统计方法,所以我尝试使用污染率为 90% 的异常检测算法,而那些被认为是正常的异常将是出现最多的异常,我会将其解释为异常。这只是一个可能会失败的测试,但为了证明这一点,我需要打印某个值在被认为正常的行中出现的次数。作为离群值,向量告诉我它们是正常还是异常(1 或 -1),并使用数据对我的数据框进行 df5 处理。这就是我正在尝试的,我正在尝试为单个值执行此操作,因为它看起来更简单,但即使如此我还是失败了。

    value=1
for i in range(len(outliers)):
if outliers[i] == value:
print(df5.loc[df5['actor']==931])

它会不断地转移特征“ Actor ”为 931 的 n 次,并且当该行被认为是正常时,我希望它返回特征“ Actor ”为 931 的行。我已经尝试了所有我知道的方法。

最佳答案

我想我现在明白你想要做什么了。 931 让我困惑了一段时间,现在我认为你只是想过滤所有 Actor 值为 931 的“正常”情况(它只是一个标签)。因此,如果您像这样打印,您将每次选择带有标签 931 的所有行。那不是你想要的。因此,您要首先过滤掉所有带有 actor == 931 的标签及其相应的异常值。然后简单地做

value=1
for i in range(len(outliers)):
if outliers[i] == value: #then normal not excessivity
print (i) # you will get the indexes of the filtered array where actor == 931
print(actual_index[i])

您可能需要原始数组的实际索引,因此当您首先过滤 actor == 931 情况时存储它们。玛丽安娜,这对你来说有意义吗?请告诉我:)

关于Python 只打印符合 if 和 for 的行,异常检测是否过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53631154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com