首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python用KShape对时间序列进行聚类和肘方法确定最优聚类数k可视化

全文链接:http://tecdat.cn/?p=27078

使用基于互相关测量的距离标度(基于形状的距离:SBD)

根据 1 计算时间序列聚类的质心。(一种新的基于质心的聚类算法,可保留时间序列的形状)

划分成每个簇的方法和一般的kmeans一样,但是在计算距离尺度和重心的时候使用上面的1和2。

相关视频

import pandas as pd

# 读取数据帧,将其转化为时间序列数组,并将其存储在一个列表中    tata = \[\]    for i, df in enmee(dfs):

# 检查每个时间序列数据的最大长度。        for ts in tsda:

if len(s) > ln_a:

lenmx = len(ts)

# 给出最后一个数据,以调整时间序列数据的长度        for i, ts in enumerate(tsdata):

dta\[i\] = ts + \[ts\[-1\]\] * n_dd

# 转换为矢量    stack_list = \[\]    for j in range(len(timeseries_dataset)):

stack_list.append(data)

# 转换为一维数组    trasfome\_daa = np.stack(ack\_ist, axis=0)

return trafoed_data数据集准备

# 文件列表flnes= soted(go.ob('mpldat/smeda*.csv'))

# 从文件中加载数据帧并将其存储在一个列表中。for ienme in fiemes:

df = pd.read\_csv(filnme, indx\_cl=one,hadr=0)    flt.append(df)聚类结果的可视化

# 为了计算交叉关系,需要对它们进行归一化处理。# TimeSeriesScalerMeanVariance将是对数据进行规范化的类。sac\_da = TimeeiesalerMVarne(mu=0.0, std=1.0).fit\_trnform(tranfome_data)# KShape类的实例化。ks = KShpe(\_clusrs=2, n\_nit=10, vrboe=True, rano_stte=sed)

yprd = ks.ft\_reitsak\_ata)# 聚类和可视化plt.tight_layout()

plt.show()

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230129A03O1500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券