我目前正在处理一个数据集,每次我使用隔离林进行异常检测时,绝大多数数据都被分类为NaN,而不是1(inlier)或-1(outlier)。这是我目前使用的代码的一个版本
def IsolatedForestAnomalyDetection(df):
df1 = df.drop(['a','b','c', 'd'], axis = 1)
data = df1
X = np.array(df1)
clf = IsolationForest(contamination = 0.01, n_estimators=10)
clf.fit(X) # fit 10 trees
df1["iforest"] = pd.Series(clf.predict(data))
return(df1)
基本上,我发送一个pandas数据帧并删除不必要的列,然后继续隔离林,将异常检测的结果添加到数据帧并返回。我设置隔离林的方式是否有问题,或者很可能与我发送的数据帧有关,或者两者都有
这也发生在我身上。 问题来自我的数据帧的索引。 首先尝试重置索引
相关问题 更多 >
编程相关推荐