基于 Python 中的 String/Integer 序列的聚类和 Distance/Dissimilarity 矩阵
Clustering and Distance/Dissimilarity Matrrix based on String/Integer sequences in Python
我有顾客在店里逗留的数据。商店有 4 个区域;区域 1、2、3 和 4。现在每 2 分钟,我根据他所在的区域读取他的 10 个数字。例如:
1-1-1-1-1-1-1-1-3-3-2
4-4-3-3-3-3-3-2-1-3-3
3-4-1-2-2-3-1-4-2-1-4
基本上,我希望有些客户大多位于特定区域,并且他们会相应地聚集在一起。所以,在第一个序列中,客户似乎更喜欢区域 1,接下来是区域 3,最后一个就像噪音。
我提供给程序的只是一堆序列(未标记)。如何生成一个 distance/dissimilarity 矩阵来计算 Python 中每个序列之间的距离?
经过一些挖掘,我在 python 中发现了 textdistance 库。
https://pypi.org/project/textdistance/
虽然我的输入是一个整数序列,但它似乎很适合这个问题。
您可以使用余弦或欧氏距离来计算距离。
https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.spatial.distance.cosine.html
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise.euclidean_distances.html
我有顾客在店里逗留的数据。商店有 4 个区域;区域 1、2、3 和 4。现在每 2 分钟,我根据他所在的区域读取他的 10 个数字。例如:
1-1-1-1-1-1-1-1-3-3-2
4-4-3-3-3-3-3-2-1-3-3
3-4-1-2-2-3-1-4-2-1-4
基本上,我希望有些客户大多位于特定区域,并且他们会相应地聚集在一起。所以,在第一个序列中,客户似乎更喜欢区域 1,接下来是区域 3,最后一个就像噪音。
我提供给程序的只是一堆序列(未标记)。如何生成一个 distance/dissimilarity 矩阵来计算 Python 中每个序列之间的距离?
经过一些挖掘,我在 python 中发现了 textdistance 库。
https://pypi.org/project/textdistance/
虽然我的输入是一个整数序列,但它似乎很适合这个问题。
您可以使用余弦或欧氏距离来计算距离。
https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.spatial.distance.cosine.html
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise.euclidean_distances.html