如何使用sklearn對train data中的數值型資料做outlier detection
时间: 2024-05-02 13:21:02 浏览: 91
使用sklearn中的IsolationForest模型可以對train data中的數值型資料做outlier detection。以下是使用IsolationForest模型的範例程式碼:
```python
from sklearn.ensemble import IsolationForest
import numpy as np
# 載入train data
X_train = np.loadtxt("train_data.csv", delimiter=",")
# 建立IsolationForest模型
clf = IsolationForest(random_state=0)
# 訓練模型
clf.fit(X_train)
# 預測train data中的outlier
y_pred_train = clf.predict(X_train)
# 將outlier標為-1,非outlier標為1
y_pred_train[y_pred_train == 1] = 0
y_pred_train[y_pred_train == -1] = 1
# 印出outlier的數量
print("Number of outliers in train data:", sum(y_pred_train))
```
此程式碼中,IsolationForest模型的random_state設為0,可以確保每次訓練的結果都相同。另外,outlier被標為-1,非outlier被標為1,因此需要將y_pred_train中的1和-1轉換成0和1。最後,印出outlier的數量即可。
阅读全文