原文链接: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()
用肘法计算簇数
什么是肘法...
计算从每个点到簇核心的间隔的平方和,指定为簇内误差平方和 (SSE)。
它是一种更改簇数,绘制每个 SSE 值,并将像“肘”一样蜿蜒的点设置为最佳簇数的办法。
#计算到1~10个群组 for i in range(1,11): #进行聚类计算。 ks.fit(sacdta) #KS.fit给出KS.inrta_ disorons.append(ks.netia_)plt.plot(range(1,11), disorins, marker='o')
最受欢迎的见解
1.R语言k-Shape算法股票价格工夫序列聚类
2.R语言中不同类型的聚类办法比拟
3.R语言对用电负荷工夫序列数据进行K-medoids聚类建模和GAM回归
4.r语言鸢尾花iris数据集的档次聚类
5.Python Monte Carlo K-Means聚类实战
6.用R进行网站评论文本开掘聚类
7.用于NLP的Python:应用Keras的多标签文本LSTM神经网络
8.R语言对MNIST数据集剖析 摸索手写数字分类数据
9.R语言基于Keras的小数据集深度学习图像分类