تقدم Sulie نماذج أساسية متطورة للتنبؤ بالسلاسل الزمنية، مما يتيح تنبؤات دقيقة وغير متوقعة بأقل قدر من الإعداد. تعمل نماذجنا المعتمدة على المحولات على أتمتة العملية، مما يلغي الحاجة إلى التدريب اليدوي والتكوينات المعقدة.
التوثيق · الإبلاغ عن خطأ · الانضمام إلى Slack · Twitter
للبدء في استخدام Sulie SDK، ستحتاج إلى مفتاح API، والذي يمكن إنشاؤه من لوحة تحكم Sulie :
بعد أن أصبح مفتاح API الخاص بك جاهزًا، تكون جاهزًا لبدء التنبؤ.
لتثبيت Sulie SDK، ما عليك سوى تشغيل:
pip install sulie==1.0.6
بعد التثبيت، قم بتهيئة SDK باستخدام مفتاح API الخاص بك لبدء التنبؤ باستخدام 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 |
بمجرد اكتمال الضبط الدقيق، يتم نشر النموذج تلقائيًا ويصبح متاحًا للتنبؤ.
تتيح لك واجهة برمجة تطبيقات Dataset API الخاصة بـ Sulie إدارة مجموعات البيانات الخاصة بك وإصدارها، مما يجعلها قابلة للوصول للتنبؤ والضبط الدقيق عبر الفرق.
# 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 )