Scikit-learn中提供了多種用于異常檢測的算法,其中包括Elliptic Envelope、Isolation Forest、Local Outlier Factor和One-Class SVM等。以下是使用其中一種算法(Isolation Forest)實(shí)現(xiàn)異常檢測的示例代碼:
from sklearn.ensemble import IsolationForest
import numpy as np
# 生成一些示例數(shù)據(jù)
X = np.random.rand(100, 2)
# 創(chuàng)建Isolation Forest模型并擬合數(shù)據(jù)
clf = IsolationForest(contamination=0.1)
clf.fit(X)
# 預(yù)測數(shù)據(jù)的異常值
y_pred = clf.predict(X)
# 打印異常值的索引
outliers_idx = np.where(y_pred == -1)
print("Outliers indexes:", outliers_idx)
在上面的示例中,首先生成了一些隨機(jī)數(shù)據(jù),然后創(chuàng)建了一個(gè)Isolation Forest模型并用生成的數(shù)據(jù)擬合模型。最后,根據(jù)模型預(yù)測數(shù)據(jù)的異常值,并打印出異常值的索引。您可以根據(jù)實(shí)際需求選擇不同的算法和參數(shù)來進(jìn)行異常檢測。