乐趣区

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

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

时序数据的聚类办法

该算法依照以下流程执行。

  1. 应用基于相互关测量的间隔标度(基于形态的间隔:SBD)

  2. 依据 1 计算工夫序列聚类的质心。(一种新的基于质心的聚类算法,可保留工夫序列的形态)

  3. 划分成每个簇的办法和个别的 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 的小数据集深度学习图像分类

退出移动版