Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数据科学计算欧几里得距离_Python_Cluster Analysis_Distance_Knn - Fatal编程技术网

Python 数据科学计算欧几里得距离

Python 数据科学计算欧几里得距离,python,cluster-analysis,distance,knn,Python,Cluster Analysis,Distance,Knn,我需要这个挑战的帮助,我尝试用不同的方法来做,但最后几个测试用例给了我错误。这是一个自学挑战。他们允许我寻求帮助 任务: 假设给定的集群中有两个集群 二维数据点和两个随机点(0,0)和(2,2) 是初始簇质心。计算欧氏距离 在每个数据点和每个质心之间,指定每个数据点 指向最近的质心,然后计算新的质心。如果 有一个平局,将数据点分配给具有质心(0, 0). 如果没有为给定质心指定任何数据点,则返回none 输入格式: 第一行:一个整数,表示 接下来n行的数据点数量(n):每个数据点有两个数值 线表

我需要这个挑战的帮助,我尝试用不同的方法来做,但最后几个测试用例给了我错误。这是一个自学挑战。他们允许我寻求帮助

任务:

假设给定的集群中有两个集群 二维数据点和两个随机点(0,0)和(2,2) 是初始簇质心。计算欧氏距离 在每个数据点和每个质心之间,指定每个数据点 指向最近的质心,然后计算新的质心。如果 有一个平局,将数据点分配给具有质心(0, 0). 如果没有为给定质心指定任何数据点,则返回none

输入格式:

第一行:一个整数,表示 接下来n行的数据点数量(n):每个数据点有两个数值 线表示二维空间中的数据点

输出格式

两个质心的两个列表。数字四舍五入到第二个小数点 地点

样本输入:

三,

10

0.5

40

样本输出:

[0.50.25]

[4.0]

  • 我的尝试:

使用基于毕达哥拉斯定理的公式:


易于理解,而且快速简单。

请将您的问题缩减到需要帮助的相关部分。你的代码的哪一部分没有产生你想要的结果,你得到了哪一个结果?这是我也不理解的部分,因为我总是得到错误答案的最后几个测试用例被锁定了,我无法查看它们。但如果我不得不猜测,我想我需要帮助指出数据点是分配的还是平局的。
n = int(input())
X = []
for i in range(n):
    X.append([float(x) for x in input().split()])
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
import numpy as np
from sklearn.metrics.pairwise import euclidean_distances
scale = StandardScaler()
scale.fit(X)
X_scaled = scale.transform(X)
kmeans = KMeans(n_clusters=2)
kmeans.fit(X)
s=(kmeans.cluster_centers_)
for a in s:
    print(np.around(a,2))
import math

x1 = 1 

y1 = 3

x2 = 6

y2 = 8

a = x2 - x1 #get length "a" of triangle rectangle

b = y2 - y1 #get length "b" of triangle rectangle

c = math.sqrt((a**2) + (b**2)) #distance between two 2D coordinates/hypotenuse