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模型并用生成的數據擬合模型。最后,根據模型預測數據的異常值,并打印出異常值的索引。您可以根據實際需求選擇不同的算法和參數來進行異常檢測。