我目前正在处理一个数据集,每次我使用隔离林进行异常检测时,绝大多数数据都被归类为NaN,而不是1 (inlier)或-1 (离群点)。下面是我目前使用的代码的一个版本。
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) 基本上,我发送一个熊猫数据帧,删除不必要的列,然后继续隔离林,并将异常检测的结果添加到一个数据帧中,并将其返回。我设置隔离林的方式是否有问题,还是很可能与我发送的数据框架有关,还是两者兼而有之?
发布于 2021-09-14 03:02:11
这也发生在我身上。这个问题来自我的数据索引。先尝试重置索引。
https://stackoverflow.com/questions/68839292
复制相似问题