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 )