Temporian 开源项目教程
1. 项目介绍
Temporian 是一个用于预处理和特征工程的 Python 开源库,专门针对机器学习应用中的时间序列数据。它支持多变量时间序列、多变量时间序列、事件日志和跨源事件流。Temporian 的核心计算部分使用 C++ 实现,并针对时间序列数据进行了优化,能够在处理时间序列数据时比其他数据处理库快 1000 倍以上。
Temporian 的主要特点包括:
- 支持多种类型的时间序列数据。
- 针对时间序列数据进行了优化。
- 易于集成到现有的机器学习生态系统中。
- 防止未来数据泄露。
2. 项目快速启动
安装
使用 pip 从 PyPI 安装 Temporian:
pip install temporian -U
最小示例
考虑一个包含销售记录的 CSV 文件,其中包含时间戳、商店和收入信息。我们的目标是计算每个商店在工作日晚上 11 点的总收入。
import temporian as tp
# 加载销售交易数据
sales = tp.from_csv("sales.csv")
# 按商店索引销售数据
sales_per_store = sales.add_index("store")
# 列出工作日
days = sales_per_store.tick_calendar(hour=22)
work_days = (days.calendar_day_of_week() <= 5).filter()
work_days.plot(max_num_plots=1)
# 按商店和工作日聚合收入
daily_revenue = sales_per_store["revenue"].moving_sum(tp.duration.days(1), sampling=work_days).rename("daily_revenue")
# 绘制结果
daily_revenue.plot(max_num_plots=3)
# 将结果导出为 Pandas DataFrame
tp.to_pandas(daily_revenue)
3. 应用案例和最佳实践
应用案例
Temporian 可以应用于多种时间序列数据的预处理和特征工程任务,例如:
- 金融数据的时间序列分析。
- 制造业中的设备故障预测。
- 零售业中的销售预测。
最佳实践
- 数据清洗:在处理时间序列数据之前,确保数据清洗干净,去除异常值和缺失值。
- 特征工程:利用 Temporian 提供的丰富操作符进行特征工程,提取有用的特征。
- 防止数据泄露:使用 Temporian 的
tp.leak
功能防止未来数据泄露。
4. 典型生态项目
Temporian 可以与以下典型的机器学习生态项目无缝集成:
- PyTorch:用于深度学习模型训练。
- Scikit-Learn:用于传统机器学习模型的训练和评估。
- TensorFlow:用于构建和训练复杂的机器学习模型。
- XGBoost:用于梯度提升树模型的训练。
- Yggdrasil Decision Forests:用于决策树模型的训练。
通过与这些生态项目的集成,Temporian 可以帮助用户更高效地进行时间序列数据的预处理和特征工程,从而提升机器学习模型的性能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考