异常数据检测 | Python实现PCA和KMeans模型异常数据检测

文章概述

异常值检测(outlier)是一种数据挖掘过程,用于确定数据集中发现的异常值并确定其出现的详细信息。当前自动异常检测至关重要,因为大量数据无法手动标记异常值。自动异常检测具有广泛的应用,例如信用卡欺诈检测,系统健康监测,故障检测以及传感器网络中的事件检测系统等。今天我们就通过使用python来实现异常值的自动检测系统的实战开发。

时间序列可视化
下面我们根据时间对价格进行可视化。

df.plot(x=‘date_time’, y=‘price_usd’, figsize=(12,6))
plt.xlabel(‘时间’)
plt.ylabel(‘价格(美元)’)

a = df.loc[df[‘srch_saturday_night_bool’] == 0, ‘price_usd’]
b = df.loc[df[‘srch_saturday_night_bool’] == 1, ‘price_usd’]
plt.figure(figsize=(10, 6))
plt.hist(a, bins = 50, alpha=0.5, label=‘不含周六晚上’)
plt.hist(b, bins = 50, alpha=0.5, label=‘含周六晚上’)
plt.legend(loc=‘upper right’)
plt.xlabel(‘价格’)
plt.ylabel(‘数量’)
plt.show();

从上面的直方图可知含周六晚上的(srch_saturday_night_bool=1)的价格均值要大于不含周六晚上的(srch_saturday_night_bool=1)价格均值。含周末的房价略高一些,这应该是合理的。
基于聚类的异常检测

你可能感兴趣的:(异常数据检测,python,kmeans,机器学习)