我是python新手。我正在创建一个非常简单的模型,可以检测时间序列数据中的异常,在我的情况下,它是任意温度读数(用于检测高温)
no | temp
1 | 36.5
2 | 39.8
3 | 37.4
4 | 40.2
5 | 40.8
显而易见,有2个峰值或异常(以粗体突出显示)。isolationForest模型很容易检测到这种异常,dataframedf['anomalies']
返回异常的索引位置
下面是报告异常(数据集中的位置)的代码片段
df['anomaly']=model.predict(df[['temp']])
anomaly=df.loc[df['anomaly']==-1]
print("Anomalies are detected at these positions")
anomaly_index=list(anomaly.index)
print(anomaly_index)
然后,上述代码以索引位置的形式预测异常(在数据集中),例如[43,26,126]
基于此,我有两个问题无法解决:
anomaly_index
索引位置获取值。(例如,在检测到这些温度异常后,我希望提取相应的温度值(例如39.8和40.8),以便对其执行进一步的操作我尝试了所有可能的方法,但由于我缺乏python技能,我被困在这个问题上。
有人能帮忙吗
干杯
您可以按照以下步骤操作:
步骤1:定义一个阈值,如果任何超过该阈值的值将被视为异常
步骤2:将所有值与阈值进行比较并存储
你可以试试这个
相关问题 更多 >
编程相关推荐