machine-learning - 如何处理 K-means 聚类中的缺失值?
问题描述
我正在根据他们购买不同类型的产品类别来进行客户细分。下面是我的数据的虚拟表示。(数据是客户购买的每个类别的总收入的百分比):
如上图链接所示,尽管此数据只有几个 0,但原始数据有很多 0。因此,将这些数据用于 kmeans 聚类不会输出任何可接受的见解,并且会使数据向左倾斜。删除行或平均丢失的数据会产生误导。:/
解决方案
如何处理缺失值是您的选择,它当然会影响您的聚类。没有一种“正确”的方式。几种流行的方式:
- 用该特征的平均值/平均值填充每列缺失值
- 引导:选择随机行并复制它的值以填充缺失值
- Closer Neighbor:找到最近的邻居并根据他的缺失值进行填充。
如果没有看到您的完整数据以及您为什么要尝试使用集群,这有点难以帮助。视情况而定...
您总是可以进行一些特征提取(例如 PCA),也许它会提供一些更好的见解
推荐阅读
- javascript - [WebdriverIO][Typescript] 是否可以从浏览器窗口获取自定义变量?
- sql - Django ORM 原始查询如何管理报价
- sql - 类似于 Excel 功能的动态转置 SQL 表的方法
- php - 按一列分组并对 Laravel 集合中的另一列求和
- asp.net-core - 如何将 Kendo DropDownList 绑定到嵌套对象
- python - 如何从列表中删除双 []?
- c# - 处理控制器绑定角色解析的最佳方法
- arrays - jq压缩子数组排列查询
- java - 修复 Java 中可调用的连接字符串 URL?
- asp.net - OutOfMemory 异常是 ASP.Net 网站在添加带有大 dll 的新包后