1. 异常检测相关任务
任务1:根据设备上传感器1与2的数据,自动监测设备异常工作状态。
任务2:自动寻找图片中异常的目标
2. 解决方法
根据输入数据,对不符合预期模式的数据进行识别
(1)一维数据集
寻找低概率数据作为异常数据
概率密度
概率密度函数是一个描述随机变量在某个确定的取值点附近的可能性的函数
概率小的作为异常数据
高斯分布
(2)多维数据集
举例
图形表示
3. 代码实现
任务:自动查找数据中的异常点
只演示x1的数据
#计算数据均值、标准差
x1_mean = x1.mean()
x1_sigma = x1.std()
#计算对应的高斯分布数值
from scipy.stats import norm
x1_range = np.linspace(0,20,300)
normal1 = norm.pdf(x1_range,x1_mean,x1_sigma)
#可视化高斯曲线
plt.plot(x1_range,normal1)
可直接对数据进行训练
#模型训练
from sklearn.covariance import EllipticEnvelope
clf = EllipticEnvelope()
CLF.FIT(data)
#可视化异常数据
anamoly_points = plt.scatter(
data.loc[:,'x1'][predict==-1],
data.loc[:,'x2'][predict==-1]],
marker = 'o',
facecolor = "none",
edgecolor = "red",s = 250)