Python 在哪里可以找到k-means的距离度量?

Python 在哪里可以找到k-means的距离度量?,python,time-series,k-means,Python,Time Series,K Means,我在towardsdatascience上看到一篇关于在timeseries上使用kmeans的文章。链接: 现在我试着在我自己的数据集上使用它,效果非常好。 我有每日档案,看起来是这样的: 我的问题是:每日档案之间的距离是多少? 那么它是如何计算每日档案之间的差异的呢? 我对k-means函数使用以下代码: kmeans = KMeans(n_clusters=2) cluster_found = kmeans.fit_predict(X) cluster_found_sr = pd.Seri

我在towardsdatascience上看到一篇关于在timeseries上使用kmeans的文章。链接: 现在我试着在我自己的数据集上使用它,效果非常好。 我有每日档案,看起来是这样的: 我的问题是:每日档案之间的距离是多少? 那么它是如何计算每日档案之间的差异的呢? 我对k-means函数使用以下代码:

kmeans = KMeans(n_clusters=2)
cluster_found = kmeans.fit_predict(X)
cluster_found_sr = pd.Series(cluster_found, name='cluster')
df_pivot = df_pivot.set_index(cluster_found_sr, append=True )

fig, ax = plt.subplots(1,1, figsize=(18,10))
color_list = ['blue', 'red', 'green', 'brown', 'yellow', 'black', 'white']
cluster_values = sorted(df_pivot.index.get_level_values('cluster').unique())
""
for cluster, color in zip(cluster_values, color_list):
    df_pivot.xs(cluster, level=1).T.plot(
        ax=ax, legend=False, alpha=0.01, color=color, label = f'Cluster {cluster}'
        )
    df_pivot.xs(cluster, level=1).median().plot(
        ax=ax, color=color, alpha=0.9, ls='--'
    )

ax.set_xticks(np.arange(0 , 24))
ax.set_ylabel('watt')
ax.set_xlabel('hour')
在我使用一种方法来帮助我决定应该选择多少簇之前

sillhoute_scores = []
n_cluster_list = np.arange(2,31).astype(int)

X = df_pivot.values.copy()

sc = MinMaxScaler()
X = sc.fit_transform(X)

for n_cluster in n_cluster_list:
    kmeans = KMeans(n_clusters=n_cluster)
    cluster_found = kmeans.fit_predict(X)
    sillhoute_scores.append(silhouette_score(X, kmeans.labels_))

你是在问你能用什么距离测量?更具体地说,什么距离度量对具有不同k的集群有意义?我只复制了它并将其用于我的数据,只是不明白给定的算法是基于什么来决定如何区别每日配置文件。(那么它使用哪种距离度量)Kmeans通常使用L2距离(或欧几里德距离)。请看下面的图片。在你了解KMeans是如何工作的之后,它可能会把事情弄清楚。实际上我已经读过KMeans是如何工作的,我的问题是理解它是如何在时间序列上工作的。比如说,它是不是先计算每个每日档案的平均值,然后再计算距离?从这篇文章来看,他似乎只是把每小时都当作一个特写。所以他有24个特征向量。然后kmeans将使用欧几里德距离来描述该特征。你是在问你可以使用什么距离度量吗?更具体地说,什么距离度量对具有不同k的集群有意义?我只复制了它并将其用于我的数据,只是不明白给定的算法是基于什么来决定如何区别每日配置文件。(那么它使用哪种距离度量)Kmeans通常使用L2距离(或欧几里德距离)。请看下面的图片。在你了解KMeans是如何工作的之后,它可能会把事情弄清楚。实际上我已经读过KMeans是如何工作的,我的问题是理解它是如何在时间序列上工作的。比如说,它是不是先计算每个每日档案的平均值,然后再计算距离?从这篇文章来看,他似乎只是把每小时都当作一个特写。所以他有24个特征向量。然后kmeans将在该特征上使用欧几里德距离