我认为您描述的是分类问题(“监督聚类”)而不是聚类。
似乎每个组可以有 4-10 行与之关联。您的运营商提供了样品,请确认。如果是这样,这就是你的训练集。
操作员手动将数据聚类成小组,每组 4 到 10 个条目
你有 700 行 120 列,其中一半是分类的:
...大约 700 个条目和 120 个维度的数据集
聚集成大约200个组。数据集是分类的混合
和序数特征,大致分成两半。
如果您的每组限制为 4-10 个项目,(类/集群?)AFIK,则常规分类算法将无法运行 OOTB。
4-10 人的组是否彼此相似,并且这个大小不是基于数据?
例如:
- 每一行都是一个客户。
- 您的操作员正在通过 DMA 对它们进行分段。 (120 列)
- 10行的限制是因为agent只能处理4-10行,但实际上组更大,是手动划分的。
如果是这样,您可以进行分类(例如随机森林),然后将分类后的组划分为易于消化的集合。 (您可以运行另一层分类来划分)。
有没有学习距离度量的方法
您可以使用训练集并计算组中心和平均距离。
像这样的:
import numpy as np
import pprint
pp = pprint.PrettyPrinter(indent=4)
# A sample Group - 3 members - with categorical indicators
Group1=np.array([[1,3,4,5,3,3,1,1,1],[4,3,3,1,3,3,0,1,0],[4,3,3,1,3,3,0,1,0]])
mu=np.mean(Group1,axis=0)
print("Multi dimentional group center: ")
pp.pprint(mu)
print("Multi dimentional average distance from center: ")
pp.pprint(
np.mean(
[np.linalg.norm(mu-point) for point in Group1]
))
了解他们遵循的一些规则会有多大帮助?
根据规则的类型,如果您知道它们,您可以创建一个决策树并完全跳过 ML。
我可以使用任何其他技术来解决这个问题吗?
如果组的大小是自然发生的而不是限制,您可以从分类开始。