You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Excel Lambda的一维K-means聚类函数及多维版本优化探讨

基于Excel Lambda的一维K-means聚类实现

我之前尝试用Excel Lambda函数实现K-means聚类,很快就完成了一维版本。一维聚类在实际聚类场景中颇具实用性:比如可用于分析园区楼宇间人员通行数据,验证管理层关于员工借外出离岗的猜测;还能对发票金额进行聚类,构建分类器。

以下是基于Lambda、无需VBA的一维K-means函数:

=LAMBDA( dataArray, nodes, [changeThreshold], [kArray],
  LET(
      nSeq, SEQUENCE(, nodes),
      n, IF(ISOMITTED(kArray), nSeq / (nodes + 1), kArray),
      adjust, LAMBDA(array, nArray,
               BYCOL(
                     IF(BYROW(ABS(array - nArray), LAMBDA(x, MATCH(MIN(x), x, 0))) = nSeq, array, ""),
                     LAMBDA(x, AVERAGE(x))
                     )
                ),
     next_kArray, adjust(dataArray, n),
     IF(
         SUM(ABS(next_kArray - n)) <= IF(ISOMITTED(changeThreshold), 0.01, changeThreshold),
         kArray,
         KMEANS_1D( dataArray, nodes, changeThreshold, next_kArray )
        )
     )

参数说明

  • dataArray:待聚类的一维(列方向)数据
  • nodes:聚类的簇数量
  • changeThreshold:可选参数,迭代停止的最小聚合变化值(默认0.01)
  • kArray:递归所用的可选数组

注意事项

  • 该函数无错误处理,仅支持单列垂直数据
  • 未采用随机初始节点,而是使用均匀分布避免函数易失性

目前实现多维版本难度较大,特此分享并寻求改进方案或替代思路。

内容的提问来源于stack exchange,提问作者mark fitzpatrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 03:27:16