jtyoui.statistics.distance package¶
Submodules¶
jtyoui.statistics.distance.BrayCurtisDistance module¶
jtyoui.statistics.distance.ChebyshevDistance module¶
jtyoui.statistics.distance.CosineDistance module¶
jtyoui.statistics.distance.EditDistance module¶
编辑距离 编辑距离又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。 许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说, 编辑距离越小,两个串的相似度越大。
jtyoui.statistics.distance.EuclideanDistance module¶
jtyoui.statistics.distance.HammingDistance module¶
-
jtyoui.statistics.distance.HammingDistance.
distance
(sim_hash, another, f)[源代码]¶ 计算两个simHash的距离
参数: - sim_hash – simHash值
- another – 另一个simHash的值
- f – simHash的bit位数
返回: 海明距离
-
jtyoui.statistics.distance.HammingDistance.
features_dict
(features, f)[源代码]¶ 特征值字典
参数: - features – 特征值
- f – simHash的bit位数
返回: simHash值
-
jtyoui.statistics.distance.HammingDistance.
ham_distance
(chars, other_chars, weight=None, f=64)[源代码]¶ 比较那个字符串的海明距离
参数: - chars – 字符串
- other_chars – 另一个字符串
- weight – 权重字典:weight={“电影”: 3}
- f – samHash的bit位数
返回: 海明距离值
jtyoui.statistics.distance.JaccardDistance module¶
-
jtyoui.statistics.distance.JaccardDistance.
jaccard_distance
(set_, other_set)[源代码]¶ 杰卡德距离
1) m00:代表向量A与向量B都是0的维度个数; 2) m01:代表向量A是0而向量B是1的维度个数; 3) m10:代表向量A是1而向量B是0的维度个数; 4) m11:代表向量A和向量B都是1的维度个数。 n维向量的每一维都会落入这4类中的某一类,因此: Jaccard距离为:m01+m10/m01+m10+m11+m00
参数: - set – 以1和0组合的集合
- other_set – 以1和0组合的集合
返回: 两个不一样的频率
jtyoui.statistics.distance.MahalanobisDistance module¶
jtyoui.statistics.distance.ManhattanDistance module¶
jtyoui.statistics.distance.MinkowskiDistance module¶
闵可夫斯基距离 闵氏空间指狭义相对论中由一个时间维和三个空间维组成的时空, 为俄裔德国数学家闵可夫斯基(1864-1909)最先表述。 他的平坦空间的概念以及表示为特殊距离量的几何学是与狭义相对论的要求相一致的。 闵可夫斯基空间不同于牛顿力学的平坦空间 当dimension=1时,得到绝对值距离,也叫曼哈顿距离 当dimension=2时,得到欧几里德距离 令dimension=无穷大(math.inf),得到切比雪夫距离