sulie
1.0.0
Sulie 提供用于时间序列预测的尖端基础模型,以最少的设置实现准确的零样本预测。我们基于变压器的模型使过程自动化,无需手动培训和复杂的配置。
文档 · 报告错误 · 加入我们的 Slack · Twitter
要开始使用 Sulie SDK,您需要一个 API 密钥,该密钥可以从Sulie Dashboard生成:
准备好 API 密钥后,您就可以开始预测了。
要安装 Sulie SDK,只需运行:
pip install sulie==1.0.6
安装后,使用您的 API 密钥初始化 SDK 以开始使用 Mimosa 进行预测:
from sulie import Sulie
# Initialize the Sulie client
client = Sulie ( api_key = "YOUR_API_KEY" )
使用 Mimosa 的零样本推理功能生成准确的时间序列预测。当您需要快速、可靠的预测而不需要训练模型时,这种方法是理想的选择。
import pandas as pd
# Example time series data
df = pd . DataFrame ({
'timestamp' : pd . date_range ( start = '2023-01-01' , periods = 1000 , freq = 'H' ),
'demand' : [ ... ], # Demand data
'location' : [ 'Plant A' , ...] # Data for different locations
})
# Forecast demand for each location over the next 24 hours
forecast = client . forecast (
dataset = df ,
target = 'demand' ,
group_by = 'location' ,
date = 'timestamp' ,
frequency = 'H' ,
horizon = 24 , # Predict 24 hours ahead
num_samples = 100 # Generate probabilistic forecasts
)
print ( forecast )
Forecast
对象包括三个列表: low
、 median
和high
,对应于预测中的不同确定性级别。这些可以帮助您了解可能的结果范围,从保守到乐观。
您还可以通过调用绘图函数直接可视化预测:
forecast . plot ()
这可以快速生成显示预测范围的图表,从而轻松发现结果的趋势和变化。非常适合快速、清晰的分析。
姓名 | 描述 | 默认 |
---|---|---|
dataset | 包含时间序列数据的Dataset 或pd.DataFrame 。 | 必需的 |
target | 预测变量的列名称。 | 必需的 |
group_by | 用于对数据进行分组的列名称(例如,不同的位置)。 | None |
date | 时间戳列名称。 | None |
frequency | 时间序列的频率(例如, H 表示每小时)。 | None |
horizon | 提前预测的时间步骤。 | 24 |
num_samples | 概率预测样本的数量。 | 100 |
通过自动微调,您可以针对独特的数据集和业务案例优化 Mimosa。微调过程使用加权分位数损失(WQL)进行评估,确保高精度。
# Fine-tune Mimosa on custom dataset
fine_tune_job = client . fine_tune (
dataset = df ,
target = "demand" ,
description = "Fine-tune for Plant A demand prediction"
)
# Check the fine-tuning job status
print ( f"Job status: { fine_tune_job . status } " )
姓名 | 描述 | 默认 |
---|---|---|
dataset | 包含时间序列数据的Dataset 或pd.DataFrame 。 | 必需的 |
target | 优化的目标变量。 | 必需的 |
group_by | 用于对 DataFrame 系列进行分组的列的名称。 | None |
description | 微调作业的描述。 | None |
微调完成后,模型将自动部署并可用于预测。
Sulie 的数据集 API 允许您管理数据集并对其进行版本控制,使它们可以跨团队进行预测和微调。
# Upload a dataset to Sulie
dataset = client . upload_dataset (
name = "product-sales-data-v1" ,
df = df ,
mode = "append" # Choose 'append' or 'overwrite'
)
# List available datasets
datasets = client . list_datasets ()
print ( f"Available datasets: { datasets } " )
笔记
数据集是一个可选功能。要进行预测甚至微调基础模型,您还可以将 Pandas DataFrame
传递给forecast
和fine_tune
函数。
可以使用list_custom_models
或get_model
选择微调模型进行新预测。
# List custom and fine-tuned models
custom_models = client . list_custom_models ()
# Select and forecast with a fine-tuned model
model_name = custom_models [ 0 ]. name
custom_model = client . get_model ( model_name )
# Forecast using the selected model
forecast_custom = custom_model . forecast (
dataset = df ,
target = 'demand' ,
group_by = 'location' ,
date = 'timestamp' ,
frequency = 'H' ,
horizon = 24 ,
num_samples = 50
)
print ( forecast_custom )