机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
在这个例子里,我们阐述在真实数据集上的稳健协方差估计的必要性。这样的协方差估计,对异常点检测,以及更好地理解数据结构都是有益的。
为了方便数据可视化,我们选择来自波士顿房价数据集的两个变量组成的二维数据集作为示例数据集。在下面的例子里,主要的结果是经验协方差估计,它受观测数据形态的影响很大。但是,我们仍然假设数据服从正态分布。这可能产生有偏的结构估计,但在某种程度上仍然是准确的。
一个例子
这个例子阐述,当数据存在一个类时,稳健的协方差估计如何帮助确定另一个相关的类。这个例子里的很多观测,很难确定属于同一个类,这给经验协方差估计带来了困难。当然,可以利用一些筛选工具,例如,支持向量机、高斯混合模型、单变量异常点检测,确定数据里存在两个类。但是,当维数大于2时,这些工具很难奏效。
代码详解
首先,加载必需的函数库。
print(__doc__)
# Author: Virgile Fritsch <virgile.fritsch@inria.fr>
# License: BSD 3 clause
import numpy as np
from sklearn.covariance import EllipticEnvelope
from sklearn.svm import OneClassSVM
import matplotlib.pyplot as plt
import matplotlib.font_manager
from sk