我在针对数据科学方面看到了一篇有关在时间序列上使用kmeans的文章。链接:https://towardsdatascience.com/clustering-electricity-profiles-with-k-means-42d6d0644d00 现在,我已经尝试在自己的数据集上使用它,并且它的运行效果很好。 我有每日个人资料,看起来像这样: 我的问题是:每日概况之间的距离度量是什么? 那么,如何计算每日配置文件之间的差异? 我为k-means函数使用了以下代码:
int64_t
在使用一种可以帮助我确定应该选择多少个群集的方法之前。
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')