Python用 tslearn 进行时间序列聚类可视化

这篇具有很好参考价值的文章主要介绍了Python用 tslearn 进行时间序列聚类可视化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

全文链接:https://tecdat.cn/?p=33484

我们最近在完成一些时间序列聚类任务,偶然发现了 tslearn 库。我很想看看启动和运行 tslearn 已内置的聚类有多简单,结果发现非常简单直接点击文末“阅读原文”获取完整代码数据)。

相关视频

首先,让我们导入我们需要的库:

import pandas as pd
import numpy as np

from tslearn.preprocessing import TimeSeriesScalerMeanVariance

netdata_pandas 用于提取一些时间序列数据到 pandas 数据框中。

plots为我添加了常用的绘图功能,我发现自己一次又一次地回到了这个库中。

我们定义输入,基本上任何我们可以使用和更改的东西都值得作为输入添加到笔记本的顶部:

n_clusters = 50 # number of clusters to fit

smooth_n = 15 # n observations to smooth over

model = 'kmeans' # one of ['kmeans','kshape','kernelkmeans','dtw']

接下来,我们将获取数据并进行一些标准的预处理:

if n_charts:
    charts = np.random.choice(get_chart_list(host), n_charts).tolist()
    print(charts)
else:
    charts = get_chart_list(host)
# get data
df = get_data(host, charts, after=-n, before=0)

if smooth_n > 0:
    if smooth_func == 'mean':
        df = df.rolling(smooth_n).mean().dropna(how='all')
    elif smooth_func == 'max':
        df = df.rolling(smooth_n).max().dropna(how='all')
    elif smooth_func == 'min':
        df = df.rolling(smooth_n).min().dropna(how='all')
    elif smooth_func == 'sum':
        df = df.rolling(smooth_n).sum().dropna(how='all')
    else:
        df = df.rolling(smooth_n).mean().dropna(how='all')

print(df.shape)
df.head()

然后用 tslearn 建立我们的聚类模型了:

if model == 'kshape':
    model = KShape(n_clusters=n_clusters, max_iter=10, n_init=2).fit(X)
elif model == 'kmeans':
    model = TimeSeriesKMeans(n_clusters=n_clusters,

有了聚类集群后,我们就可以制作一些辅助对象供以后使用:

cluster_metrics_dict = df_cluster.groupby(['cluster'])['metric'].apply(lambda x: [x for x in x]).to_dict()
cluster_len_dict = df_cluster['cluster'].value_counts().to_dict()

clusters_final.sort()

df_cluster.head()

最后,让我们分别绘制每个聚类群组,看看有什么结果:

for cluster_number in clusters_final:
 
    x_corr = df[cluster_metrics_dict[cluster_number]].corr().abs().values
   
    plot_lines(df, cols=cluster_metrics_dict[cluster_number], renderer='colab', theme=None, title=plot_title)

这里有一些很好的例子:

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习


点击标题查阅往期内容

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

R语言k-Shape时间序列聚类方法对股票价格时间序列聚类

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习文章来源地址https://www.toymoban.com/news/detail-671397.html

左右滑动查看更多

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

01

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

02

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

03

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

04

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

聚类的典型特征是你总是会得到一些看起来很糟糕的随机数据,尤其是凭空选取了上面的很多参数,最重要的是 K 聚类的数量,鉴于我们有大量的指标(超过 700 个),我将其设置为 50 个。

总之,我发现 tslearn 库非常有用,因为它节省了我很多时间,让我快速建立并运行了一个工作原型,所以我期待着还能使用它提供的其他一些时间序列相关功能。


Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《Python用 tslearn 进行时间序列聚类可视化》。

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

点击标题查阅往期内容

K-means和层次聚类分析癌细胞系微阵列数据和树状图可视化比较

KMEANS均值聚类和层次聚类:亚洲国家地区生活幸福质量异同可视化分析和选择最佳聚类数

PYTHON实现谱聚类算法和改变聚类簇数结果可视化比较

有限混合模型聚类FMM、广义线性回归模型GLM混合应用分析威士忌市场和研究专利申请数据

R语言多维数据层次聚类散点图矩阵、配对图、平行坐标图、树状图可视化城市宏观经济指标数据

r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化

Python Monte Carlo K-Means聚类实战研究

R语言k-Shape时间序列聚类方法对股票价格时间序列聚类

R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归

R语言谱聚类、K-MEANS聚类分析非线性环状数据比较

R语言实现k-means聚类优化的分层抽样(Stratified Sampling)分析各市镇的人口

R语言聚类有效性:确定最优聚类数分析IRIS鸢尾花数据和可视化

Python、R对小说进行文本挖掘和层次聚类可视化分析案例

R语言k-means聚类、层次聚类、主成分(PCA)降维及可视化分析鸢尾花iris数据集

R语言有限混合模型(FMM,finite mixture model)EM算法聚类分析间歇泉喷发时间

R语言用温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化

R语言k-Shape时间序列聚类方法对股票价格时间序列聚类

R语言中的SOM(自组织映射神经网络)对NBA球员聚类分析

R语言复杂网络分析:聚类(社区检测)和可视化

R语言中的划分聚类模型

基于模型的聚类和R语言中的高斯混合模型

r语言聚类分析:k-means和层次聚类

SAS用K-Means 聚类最优k值的选取和分析

用R语言进行网站评论文本挖掘聚类

基于LDA主题模型聚类的商品评论文本挖掘

R语言鸢尾花iris数据集的层次聚类分析

R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归

R语言聚类算法的应用实例

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

Python用 tslearn 进行时间序列聚类可视化,python,聚类,开发语言,数据挖掘,机器学习

到了这里,关于Python用 tslearn 进行时间序列聚类可视化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python探索金融数据进行时间序列分析和预测

    大家好,时间序列分析是一种基于历史数据和趋势分析进行预测的统计技术。它在金融和经济领域非常普遍,因为它可以准确预测趋势并做出明智的决策。本文将使用Python来探索经济和金融数据,执行统计分析,并创建时间序列预测。 我们将在本教程中使用NumPy、Pandas和Mat

    2024年02月16日
    浏览(40)
  • 用Python语言进行时间序列ARIMA模型分析

    应用时间序列 时间序列分析是一种重要的数据分析方法,应用广泛。以下列举了几个时间序列分析的应用场景: 1.经济预测:时间序列分析可以用来分析经济数据,预测未来经济趋势和走向。例如,利用历史股市数据和经济指标进行时间序列分析,可以预测未来股市的走向。

    2024年02月03日
    浏览(53)
  • python使用ARIMA进行时间序列的预测(基础教程)

    时间序列就是以时间为索引的数据,比如下面这种形式 数据链接:https://pan.baidu.com/s/1KHmCbk9ygIeRHn97oeZVMg 提取码:s0k5 python使用ARIMA建模,主要是使用statsmodels库 首先是建模流程,如果不是太明白不用担心,下面会详细的介绍这些过程 首先要注意一点,ARIMA适用于 短期 单变量

    2024年01月17日
    浏览(31)
  • 使用轮廓分数提升时间序列聚类的表现

    我们将使用轮廓分数和一些距离指标来执行时间序列聚类实验,并且进行可视化 让我们看看下面的时间序列: 如果沿着y轴移动序列添加随机噪声,并随机化这些序列,那么它们几乎无法分辨,如下图所示-现在很难将时间序列列分组为簇: 上面的图表是使用以下脚本创建的: 现

    2024年02月07日
    浏览(23)
  • 使用 Ploomber、Arima、Python 和 Slurm 进行时间序列预测

    推荐:使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 笔记本由 8 个任务组成,如下图所示。它包括建模的大多数基本步骤 - 获取数据清理、拟合、超参数调优、验证和可视化。作为捷径,我拿起笔记本并使用Soorgeon工具自动将笔记本模块化到Ploomber管道中。这会将

    2024年02月12日
    浏览(35)
  • 【AI底层逻辑】——篇章5(下):机器学习算法之聚类&降维&时间序列

    续上: 目录 4、聚类 5、降维 6、时间序列 三、无完美算法  往期精彩: 聚类即把相似的东西归在一起, 与 分类 不同的是#

    2024年02月15日
    浏览(34)
  • 时间序列预测模型实战案例(二)(Holt-Winter)(Python)结合K-折交叉验证进行时间序列预测实现企业级预测精度(包括运行代码以及代码讲解)

    目录 引言 数据格式 运行代码  Holt-Winters模型主体 程序入口 参数讲解 开始训练 预测结果   话不多说上来先上预测精度分析图,其中MAE的误差大概在0.11,以下数据均是预测未知数据,而不是训练数据的预测图。   开始之前我们先来简单了解一下Holt-Winters模型 Holt-Winters模型,也

    2024年02月05日
    浏览(67)
  • 数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法...

    最近我们被客户要求撰写关于上海空气质量指数的研究报告。本文向大家介绍R语言对上海PM2.5等空气质量数据 ( 查看文末了解数据免费获取方式 ) 间的相关分析和预测分析,主要内容包括其使用实例,具有一定的参考价值,需要的朋友可以参考一下 ( 点击文末“阅读原文

    2024年02月09日
    浏览(43)
  • 时间序列基础操作:使用python与eviews对AR与ARMA模型进行定阶与预报

    一般处理时间序列的基本过程:(无季节趋势) 处理时间序列的简单过程(无季节趋势) 注:上图中LB检验的统计量纠正:n*(n+2),而不是n*(n-2)  几种基础时间序列模型(模型的具体形式补充见文末): 目录 一、Python处理 1.1.step1:平稳性检验与白噪音检验 1.1.1平稳性检验:

    2024年02月07日
    浏览(40)
  • 【视频】Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析|数据分享...

    在本文中,长短期记忆网络——通常称为“LSTM”——是一种特殊的RNN递归神经网络,能够学习长期依赖关系 ( 点击文末“阅读原文”获取完整 代码数据 ) 。 视频:LSTM 神经网络架构和工作原理及其在Python中的预测应用 什么是依赖关系? 假设您在观看视频时记得前一个场

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包