Scikit-learn中提供了多种用于异常检测的算法,其中包括Elliptic Envelope、Isolation Forest、Local Outlier Factor和One-Class SVM等。以下是使用其中一种算法(Isolation Forest)实现异常检测的示例代码:
from sklearn.ensemble import IsolationForest
import numpy as np
# 生成一些示例数据
X = np.random.rand(100, 2)
# 创建Isolation Forest模型并拟合数据
clf = IsolationForest(contamination=0.1)
clf.fit(X)
# 预测数据的异常值
y_pred = clf.predict(X)
# 打印异常值的索引
outliers_idx = np.where(y_pred == -1)
print("Outliers indexes:", outliers_idx)
在上面的示例中,首先生成了一些随机数据,然后创建了一个Isolation Forest模型并用生成的数据拟合模型。最后,根据模型预测数据的异常值,并打印出异常值的索引。您可以根据实际需求选择不同的算法和参数来进行异常检测。