إن Uncertainty Quantification 360 (UQ360) عبارة عن مجموعة أدوات مفتوحة المصدر مع حزمة Python لتزويد ممارسي علوم البيانات والمطورين بإمكانية الوصول إلى أحدث الخوارزميات، لتبسيط عملية تقدير وتقييم وتحسين وإبلاغ عدم اليقين نماذج التعلم الآلي كممارسات شائعة لشفافية الذكاء الاصطناعي. توفر تجربة UQ360 التفاعلية مقدمة لطيفة للمفاهيم والقدرات من خلال الاطلاع على مثال لحالة الاستخدام. تقدم البرامج التعليمية ودفاتر الملاحظات النموذجية مقدمة أعمق وموجهة نحو علماء البيانات. واجهة برمجة التطبيقات الكاملة متاحة أيضًا.
لقد قمنا بتطوير الحزمة مع أخذ القابلية للتوسعة في الاعتبار. هذه المكتبة لا تزال قيد التطوير. نحن نشجع مساهمة خوارزميات ومقاييس وتطبيقات تقدير عدم اليقين. للبدء كمساهم، يرجى الانضمام إلى قناة #uq360-users أو #uq360-developers لمجتمع AIF360 على Slack من خلال طلب دعوة هنا.
استخدام النماذج الوصفية لزيادة تدرج sklearn المعزز مع الفاصل الزمني للتنبؤ. انظر المثال التفصيلي هنا.
from sklearn . ensemble import GradientBoostingRegressor
from sklearn . datasets import make_regression
from sklearn . model_selection import train_test_split
from uq360 . algorithms . blackbox_metamodel import MetamodelRegression
# Create train, calibration and test splits.
X , y = make_regression ( random_state = 0 )
X_train , X_test , y_train , y_test = train_test_split ( X , y , random_state = 0 )
X_train , X_calibration , y_train , y_calibration = train_test_split ( X_train , y_train , random_state = 0 )
# Train the base model that provides the mean estimates.
gbr_reg = GradientBoostingRegressor ( random_state = 0 )
gbr_reg . fit ( X_train , y_train )
# Train the meta-model that can augment the mean prediction with prediction intervals.
uq_model = MetamodelRegression ( base_model = gbr_reg )
uq_model . fit ( X_calibration , y_calibration , base_is_prefitted = True )
# Obtain mean estimates and prediction interval on the test data.
y_hat , y_hat_lb , y_hat_ub = uq_model . predict ( X_test )
يتم استخدام درجة احتمالية التغطية الفاصلة للتنبؤ (PICP) هنا كمقياس لتحديد النموذج من خلال التحقق المتبادل. انظر المثال التفصيلي هنا.
from sklearn . datasets import make_regression
from sklearn . model_selection import train_test_split
from sklearn . model_selection import GridSearchCV
from uq360 . utils . misc import make_sklearn_compatible_scorer
from uq360 . algorithms . quantile_regression import QuantileRegression
# Create a sklearn scorer using UQ360 PICP metric.
sklearn_picp = make_sklearn_compatible_scorer (
task_type = "regression" ,
metric = "picp" , greater_is_better = True )
# Hyper-parameters configuration using GridSearchCV.
base_config = { "alpha" : 0.95 , "n_estimators" : 20 , "max_depth" : 3 ,
"learning_rate" : 0.01 , "min_samples_leaf" : 10 ,
"min_samples_split" : 10 }
configs = { "config" : []}
for num_estimators in [ 1 , 2 , 5 , 10 , 20 , 30 , 40 , 50 ]:
config = base_config . copy ()
config [ "n_estimators" ] = num_estimators
configs [ "config" ]. append ( config )
# Create train test split.
X , y = make_regression ( random_state = 0 )
X_train , X_test , y_train , y_test = train_test_split ( X , y , random_state = 0 )
# Initialize QuantileRegression UQ360 model and wrap it in GridSearchCV with PICP as the scoring function.
uq_model = GridSearchCV (
QuantileRegression ( config = base_config ), configs , scoring = sklearn_picp )
# Fit the model on the training set.
uq_model . fit ( X_train , y_train )
# Obtain the prediction intervals for the test set.
y_hat , y_hat_lb , y_hat_ub = uq_model . predict ( X_test )
التكوينات المدعومة:
نظام التشغيل | نسخة بايثون |
---|---|
ماك | 3.7 |
أوبونتو | 3.7 |
ويندوز | 3.7 |
يوصى بشدة باستخدام مدير بيئة افتراضية لضمان تثبيت التبعيات بأمان. إذا كانت لديك مشكلة في تثبيت مجموعة الأدوات، فجرّب ذلك أولاً.
يوصى باستخدام Conda لجميع التكوينات على الرغم من أن Virtualenv قابل للتبديل بشكل عام لأغراضنا. Miniconda كافٍ (انظر الفرق بين Anaconda و Miniconda إذا كنت فضوليًا) ويمكن تثبيته من هنا إذا لم يكن لديك بالفعل.
ثم، لإنشاء بيئة Python 3.7 جديدة، قم بتشغيل:
conda create --name uq360 python=3.7
conda activate uq360
يجب أن تبدو القشرة الآن بالشكل (uq360) $
. لإلغاء تنشيط البيئة، قم بتشغيل:
(uq360)$ conda deactivate
سيعود الموجه مرة أخرى إلى $
أو (base)$
.
ملاحظة: قد تستخدم الإصدارات الأقدم من conda source activate uq360
source deactivate
( activate uq360
وإلغاء deactivate
على نظام التشغيل Windows).
استنساخ أحدث إصدار من هذا المستودع:
(uq360)$ git clone https://github.ibm.com/UQ360/UQ360
إذا كنت ترغب في تشغيل الأمثلة ودفاتر الملاحظات التعليمية، فقم بتنزيل مجموعات البيانات الآن وضعها في المجلدات الخاصة بها كما هو موضح في uq360/data/README.md.
بعد ذلك، انتقل إلى الدليل الجذر للمشروع الذي يحتوي على ملف setup.py
وقم بتشغيل:
(uq360)$ pip install -e .
إذا كنت ترغب في البدء بسرعة في استخدام مجموعة أدوات UQ360 دون استنساخ هذا المستودع، فيمكنك تثبيت حزمة uq360 pypi على النحو التالي.
(your environment)$ pip install uq360
إذا اتبعت هذا الأسلوب، فقد تحتاج إلى تنزيل دفاتر الملاحظات في مجلد الأمثلة بشكل منفصل.
يحتوي دليل examples
على مجموعة متنوعة من دفاتر ملاحظات jupyter التي تستخدم UQ360 بطرق مختلفة. توضح كل من الأمثلة ودفاتر الملاحظات التعليمية التعليمات البرمجية للعمل باستخدام مجموعة الأدوات. توفر البرامج التعليمية مناقشة إضافية ترشد المستخدم خلال الخطوات المختلفة لدفتر الملاحظات. راجع التفاصيل حول البرامج التعليمية والأمثلة هنا.
يتوفر وصف فني لـ UQ360 في هذه الورقة. يوجد أدناه إدخال bibtex لهذه الورقة.
@misc{uq360-june-2021,
title={Uncertainty Quantification 360: A Holistic Toolkit for Quantifying
and Communicating the Uncertainty of AI},
author={Soumya Ghosh and Q. Vera Liao and Karthikeyan Natesan Ramamurthy
and Jiri Navratil and Prasanna Sattigeri
and Kush R. Varshney and Yunfeng Zhang},
year={2021},
eprint={2106.01410},
archivePrefix={arXiv},
primaryClass={cs.AI}
}
تم إنشاء UQ360 بمساعدة العديد من الحزم مفتوحة المصدر. تم إدراج كل هذه العناصر في setup.py وبعضها يتضمن:
الرجاء عرض ملف الترخيص الموجود في الدليل الجذر للحصول على معلومات الترخيص.