草庐IT

EM距离

全部标签

python - 距离矩阵的树状图或其他图

我要比较三个矩阵。他们每个人都是5x6。我最初想使用层次聚类来对矩阵进行聚类,以便在给定相似度阈值的情况下将最相似的矩阵分组。我在python中找不到任何这样的函数,所以我手动实现了距离测量,(p-normwherep=2).现在我有一个3x3距离矩阵(我相信在这种情况下它也是一个相似矩阵)。我现在正在尝试生成树状图。这是我的代码,这就是错误所在。我想要生成一个图(如果可能的话,树状图)来显示最相似的矩阵簇。Ofmatrices0,1,2,0和2是相同的,应该先聚类到一起,1是不同的。距离矩阵如下所示:>01200.02.03.85e-1612.00.02.023.85e-162.00

python - 给定经纬度和距离,我想找到一个边界框

给定经纬度和距离,我想找到一个距离小于给定距离的边界框。这里提出了这个问题:Howtocalculatetheboundingboxforagivenlat/lnglocation?我不希望这个特别准确,所以我修改并简化了它defboundingBox(latitudeInDegrees,longitudeInDegrees,halfSideInKm):lat=math.radians(latitudeInDegrees)lon=math.radians(longitudeInDegrees)halfSide=1000*halfSideInKmRADIUS_OF_EARTH=6371#

python - 在python中查找一组字符串的最小汉明距离

我有一组n(~1000000)个字符串(DNA序列)存储在列表trans中。我必须找到列表中所有序列的最小汉明距离。我实现了一个naivebruteforcealgorithm,运行了一天多了,还没有给出解决方案。我的代码是dmin=len(trans[0])foriinxrange(len(trans)):forjinxrange(i+1,len(trans)):dist=hamdist(trans[i][:-1],trans[j][:-1])ifdist有没有更有效的方法来做到这一点?这里的hamdist是我编写的用于查找汉明距离的函数。这是defhamdist(str1,str2

python - 如何使用python中的return方法计算两点之间的距离?

我对python还是个新手,一直在努力掌握它的窍门。我一直在尝试学习简单的返回方法,但我似乎无法掌握它。我一直在试图找到两点之间的距离,这就是我到目前为止所拥有的。如果有人能帮我解决这个问题,那将非常有帮助!谢谢!importmathdefcalculateDistance(x1,y1,x2,y2):dist=math.sqrt((x2-x1)**2+(y2-y1)**2)returndistcalculateDistance(2,4,6,8)printcalculateDistance 最佳答案 为什么不用math.hypot()

python - 获得整数数组汉明距离的最快方法

设a和b是具有相同大小的8位整数(0-255)的向量。我想计算这些向量不同的位数,即由这些数字的二进制表示串联形成的向量之间的汉明距离。例如:a=[127,255]b=[127,240]使用numpy库np.bitwise_xor(a,b)#Output:array([0,15])我现在需要的是用二进制表示上述数组的每个元素,并计算数组所有元素中1的个数。上面的示例将给出0+4=4的汉明距离。Python中对此有任何快速而优雅的解决方案吗? 最佳答案 方法#1:我们可以将它们广播成二进制位并计算不同位的数量,就像这样-defhamm

python - 计算两个 Pandas 数据帧的行之间的欧几里得距离

我有两个pandas数据帧d1和d2,如下所示:d1看起来像:outputvalue1value2value2110010387120197.588.911445485d2看起来像:outputvalue1value2value2010010387020197.588.901445485010010387020197.588.901445485d1中所有行的列输出值为1,d2中所有行的值为0。这是一个分组变量。我需要找到d1和d2的每一行之间的欧氏距离(不在d1或d2内)。如果d1有m行并且d2有n行,那么距离矩阵将有m行和n列 最佳答案

python - 根据距离和方向计算点

我想使用GeoDjango或GeoPy根据方向和距离计算一个点。例如,如果我有一个点是(-24680.1613,6708860.65389),我想使用Vincenty距离公式找出北1KM、东1KM、南1KM和西1KM的点。我能找到的最接近的东西是distance.py(https://code.google.com/p/geopy/source/browse/trunk/geopy/distance.py?r=105)中的“目的地”函数。虽然我在任何地方都找不到这个文档,但我还没有弄清楚如何使用它。非常感谢任何帮助。 最佳答案 编辑

python - 欧氏距离 Python 实现

我正在使用编程集体智慧中的以下代码,这是计算两个电影评论家之间的eclipse距离的书中的一个函数。该函数对字典中排名的差异求和,但n维的欧氏距离还包括该总和的平方根。据我所知,因为我们使用相同的函数对每个人进行排名,所以我们是否平方根并不重要,但我想知道这是否有特殊原因?frommathimportsqrt#Returnsadistance-basedsimilarityscoreforperson1andperson2defsim_distance(prefs,person1,person2):#Getthelistofshared_itemssi={}foriteminprefs

python - 两个二进制字符串之间的汉明距离不起作用

我发现了一个有趣的算法来计算this上的汉明距离网站:defhamming2(x,y):"""CalculatetheHammingdistancebetweentwobitstrings"""assertlen(x)==len(y)count,z=0,x^ywhilez:count+=1z&=z-1#magic!returncount关键是这个算法只适用于位串,我正在尝试比较两个二进制字符串,但它们是字符串格式,比如'100010''101000'我怎样才能让他们使用这个算法? 最佳答案 实现它:defhamming2(s1,s2

python - 使用缺失值计算 scipy 中的成对距离

我对scipy.spatial.distance.pdist如何处理缺失的(nan)值感到有点困惑。因此,以防万一我弄乱了矩阵的维度,让我们把它移开。来自文档:Thepointsarearrangedasmn-dimensionalrowvectorsinthematrixX.那么让我们在10维空间中生成三个具有缺失值的点:numpy.random.seed(123456789)data=numpy.random.rand(3,10)*5data[data如果我计算这三个观测值的欧氏距离:pdist(data,"euclidean")我得到:array([nan,nan,nan])Ho