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模型并用生成的数据拟合模型。最后,根据模型预测数据的异常值,并打印出异常值的索引。您可以根据实际需求选择不同的算法和参数来进行异常检测。