多元高斯分布异常检测代码
时间: 2023-12-20 12:28:35 浏览: 163
机器学习异常检测(高斯分布).7z
5星 · 资源好评率100%
多元高斯分布异常检测代码可以使用Python中的Scikit-learn库来实现。以下是一个简单的示例代码:
```python
from sklearn.covariance import EllipticEnvelope
import numpy as np
# 构造一些正常数据和异常数据
normal_data = np.random.randn(100, 2)
outlier_data = np.array([[4, 4], [5, 5]])
# 训练模型
model = EllipticEnvelope()
model.fit(normal_data)
# 预测数据
y_pred = model.predict(np.vstack([normal_data, outlier_data]))
# 输出异常数据
outliers = np.where(y_pred == -1)[0]
print("异常数据:", outliers)
```
在这个示例代码中,我们首先使用`np.random.randn`函数生成100个正态分布的数据点作为正常数据,然后手动构造两个异常数据点。接着,我们使用`EllipticEnvelope`类来训练模型,并使用`predict`方法来预测所有数据点的标签。最后,我们输出所有被标记为异常的数据点的索引。
需要注意的是,这只是一个简单的示例代码,实际应用中需要根据具体情况进行调整和优化。
阅读全文