r - 部署中 k-Means 聚类异常值检测的 Mahalanobis 距离
问题描述
在使用数据进行 k-Means 聚类之前,我使用 Mahalanobis 距离来删除数据中的异常值。离群值然后是一个单独的集群(“离群值”集群),以及由 k-Means 聚类过程给出的其他集群。现在我需要在生产中部署建模结果,我不太确定如何计算新数据上的“异常值”集群。我的直觉告诉我,我不应该在新数据上“从头开始”计算马氏距离,而是使用训练数据的协方差矩阵和均值,因为机器学习的基本假设是统计特征在新数据中保持不变数据作为历史数据,所以如果我从头开始计算距离,我会将新数据视为训练数据中不相关的数据集,在下一步将聚类分配给新的观测值时,应用经过训练的聚类模型(该模型是在使用马氏距离去除异常值后获得的)是不合适的举动。我正在使用mahalanobis(x, center, cov)
R 中的函数,所以在这种情况下,x
应该是我的新数据框,center
是训练数据中变量的均值,是训练数据cov
的协方差矩阵。
有人可以告诉我这种方法是否正确吗?如果没有,我应该如何进行?
非常感谢!
解决方案
推荐阅读
- html - :before 伪元素不在 div 中
- javascript - 如何在网站上的谷歌地图中添加搜索框?
- maven - Jenkins 无法运行 maven clean deploy
- angular - 为什么 tslint 会删除对象键?
- next.js - fetch 显示 next.js 中未定义的数据
- c# - 生产服务器上的 Windows 服务 AggregateException
- ignite - 已检测到阻塞的系统关键线程
- javascript - FullCalendar v4 比较事件日期
- amazon-redshift - MicroStrategy Query for Redshift 无意中添加了限制条款
- javascript - history.push() 和 props.location.state 导致“无法读取未定义的属性‘状态’”