当前位置:首页>python>aeon,一个超好用的 Python 库!

aeon,一个超好用的 Python 库!

  • 2026-10-14 12:20:35
aeon,一个超好用的 Python 库!

点击上方卡片关注我

设置星标 学习更多技能

时间序列分析是数据科学中的重要分支,涵盖预测、分类、聚类等多种任务。Aeon是从著名的sktime库分离出来的专业时间序列机器学习工具包,专注于提供高性能的算法实现和统一的API接口。该库整合了深度学习、传统机器学习和统计方法,支持单变量和多变量时间序列处理。与其他工具相比,Aeon更注重计算效率和算法的现代化实现,提供了大量经过优化的分类器、回归器和变换器。

安装

1、基础安装

使用pip安装Aeon库:

pip install aeon

2、验证安装

运行以下代码验证安装:

import aeonprint(aeon.__version__)

如果能正常输出版本号,说明安装成功。

核心特性:

  • 丰富的算法库:包含数十种时间序列分类、回归和聚类算法
  • 深度学习集成:提供CNN、ResNet、LSTM等现代深度学习模型
  • 高性能实现:算法经过优化,执行速度显著快于传统实现
  • 统一API设计:遵循scikit-learn风格,学习成本低
  • 数据变换工具:支持特征提取、数据增强、降维等预处理操作
  • 基准数据集:内置多个标准时间序列数据集,便于算法评估

基本功能

1、时间序列分类

时间序列分类是识别序列所属类别的任务,如动作识别、设备状态判断等。下面的代码展示如何使用Aeon的经典分类器ROCKET,通过随机卷积核提取特征后用Ridge分类器预测。ROCKET在多个基准数据集上表现优异且速度快,适合快速建立分类基线模型。

from aeon.classification.convolution_based import RocketClassifierfrom aeon.datasets import load_arrow_headimport numpy as np# 加载示例数据集X_train, y_train = load_arrow_head(split="train")X_test, y_test = load_arrow_head(split="test")# 训练ROCKET分类器classifier = RocketClassifier(num_kernels=10000)classifier.fit(X_train, y_train)# 预测和评估accuracy = classifier.score(X_test, y_test)print(f"分类准确率: {accuracy:.4f}")

2、时间序列回归

回归任务用于预测连续数值,如销量预测、温度估计等。下面的代码使用基于距离的时间序列回归器KNeighborsTimeSeriesRegressor,通过计算时间序列间的DTW(动态时间规整)距离找到最近邻样本进行预测。

from aeon.regression.distance_based import KNeighborsTimeSeriesRegressorfrom sklearn.model_selection import train_test_splitimport pandas as pd# 创建示例数据X = np.random.randn(100, 1, 50)  # 100个样本,1个变量,50个时间点y = np.random.randn(100)X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)# 训练回归模型regressor = KNeighborsTimeSeriesRegressor(n_neighbors=5, distance="dtw")regressor.fit(X_train, y_train)# 预测和评估predictions = regressor.predict(X_test)score = regressor.score(X_test, y_test)print(f"回归R²分数: {score:.4f}")

3、时间序列聚类

聚类用于发现时间序列数据中的隐藏模式和分组。下面的代码展示如何使用TimeSeriesKMeans进行聚类分析,支持多种时间序列距离度量。

from aeon.clustering import TimeSeriesKMeans# 创建时间序列数据X = np.random.randn(50, 1, 100)  # 50个时间序列# K-means聚类kmeans = TimeSeriesKMeans(n_clusters=3, metric="euclidean", n_init=10)cluster_labels = kmeans.fit_predict(X)print(f"聚类标签: {cluster_labels}")print(f"各簇样本数: {np.bincount(cluster_labels)}")# 获取聚类中心centers = kmeans.cluster_centers_print(f"聚类中心形状: {centers.shape}")

高级功能

1、深度学习分类器

Aeon集成了多种深度学习模型,提供端到端的时间序列分类能力。下面的代码展示如何使用ResNet分类器,它采用残差连接架构,能够学习复杂的时间模式。

深度学习方法在大规模数据集上通常优于传统方法,但需要更长的训练时间。通过调整网络深度和训练轮数,可以在准确率和计算成本间找到平衡。

from aeon.classification.deep_learning import ResNetClassifier# 使用ResNet深度学习分类器resnet = ResNetClassifier(n_epochs=100, batch_size=16, verbose=False)resnet.fit(X_train, y_train)# 预测和评估y_pred = resnet.predict(X_test)accuracy = (y_pred == y_test).mean()print(f"ResNet准确率: {accuracy:.4f}")# 获取预测概率proba = resnet.predict_proba(X_test)print(f"预测概率形状: {proba.shape}")

2、时间序列特征提取

特征工程对时间序列建模至关重要。Aeon提供了多种特征提取变换器,可以将原始序列转换为特征向量。

下面的代码展示如何使用Catch22变换器提取22个统计特征,这些特征捕捉了序列的统计属性、自相关性等信息。

from aeon.transformations.collection.feature_based import Catch22# 特征提取变换器catch22 = Catch22()X_features = catch22.fit_transform(X_train)print(f"原始数据形状: {X_train.shape}")print(f"提取特征形状: {X_features.shape}")# 使用提取的特征训练传统分类器from sklearn.ensemble import RandomForestClassifierrf = RandomForestClassifier(n_estimators=100)rf.fit(X_features, y_train)# 对测试集提取特征并预测X_test_features = catch22.transform(X_test)rf_accuracy = rf.score(X_test_features, y_test)print(f"基于特征的分类准确率: {rf_accuracy:.4f}")

3、集成学习方法

集成多个模型通常能获得更好的性能和鲁棒性。下面的代码展示如何使用HIVE-COTE,它是时间序列分类领域的顶尖算法之一,集成了多种特征表示和分类器。虽然训练时间较长,但在准确率要求高的应用中,HIVE-COTE能够提供业界领先的性能。

from aeon.classification.hybrid import HIVECOTEV2# 使用HIVE-COTE集成分类器hivecote = HIVECOTEV2(    time_limit_in_minutes=5,  # 限制训练时间    n_jobs=1)hivecote.fit(X_train, y_train)# 预测和评估hive_accuracy = hivecote.score(X_test, y_test)print(f"HIVE-COTE准确率: {hive_accuracy:.4f}")# 查看集成中各组件的权重print("集成组件信息:")for name, weight in zip(hivecote.estimator_names_, hivecote.weights_):    print(f"{name}: {weight:.4f}")

总结

Aeon是一个功能全面、性能优异的时间序列机器学习工具包,从传统统计方法到现代深度学习模型,提供了丰富的算法选择。其统一的scikit-learn风格API降低了学习门槛,让开发者能够快速上手。高性能的算法实现和优化使其适合处理大规模时间序列数据。从分类、回归到聚类,Aeon涵盖了时间序列分析的主要任务类型。内置的特征提取工具和集成学习方法,让模型性能优化变得简单。

💡推荐阅读

如果在编程工具充值使用上遇到麻烦,推荐一个牛逼的中转工具!一次性搞定 Codex 、Claude Code和 gemini,内容介绍和付费兑换详见文末阅读原文。

📘 我们整理了一份《AI 编程出海蓝皮书》,汇集了过去几个月团队在出海实战中沉淀下来的核心经验。内容持续更新ing

从需求、工具、部署、收款,到 SEO、推广、引流,一步步带你搞懂普通人也能启动的出海路径。这份资料能帮你快速入门、少踩坑。

扫码或微信搜索 257735添加微信,回复【出海资料】即可免费领取。

Vercel 模板一键部署,上线出海网站比想象中简单!

网站SEO必备工具:Google Search Console 使用教程

Claude Code 和 Codex,一个平台全搞定,开发者狂喜!

3 分钟搞定内网穿透,让别人访问你的本地服务

从Sora热度飙升,看懂 Google Trends 的找词逻辑

最新文章

随机文章