import numpy as np
from sklearn.metrics.pairwise import cosine_similarity
A = np.array([10, 8, 4, 1, 1]).reshape(1,-1)
B = np.array([7, 3, 8, 4, 0]).reshape(1,-1)
A = np.array([10, 8, 4, 1, 1]).reshape(1,-1)
B = np.array([10, 8, 4, 1, 1]).reshape(1,-1)
print(A,B)
[[10 8 4 1 1]] [[10 8 4 1 1]]
#函数进行cos以及Bray(包含丰度信息)计算,两个方法相互验证
sim1=cosine_similarity(A,B)
print(sim1)
def cosine_similarity_define(x,y):#相似性
num = x.dot(y.T)
denom = np.linalg.norm(x) * np.linalg.norm(y)
return num / denom
sim2=cosine_similarity_define(A,B)
print(sim2)
def Bray_Curtis(x, y):#群落之间组成差异
import numpy as np
x = np.array(x)
y = np.array(y)
return np.sum(np.abs(x-y))/(np.sum(x)+np.sum(y))
sim3=Bray_Curtis(A,B)
print(sim3)
结果:
[[0.82029132]]
[[0.82029132]]
0.34782608695652173