Uncertainty Quantification 360 (UQ360) เป็นชุดเครื่องมือโอเพ่นซอร์สที่มีแพ็คเกจ Python เพื่อให้ผู้ปฏิบัติงานด้านวิทยาศาสตร์ข้อมูลและนักพัฒนาสามารถเข้าถึงอัลกอริธึมที่ล้ำสมัย เพื่อปรับปรุงกระบวนการประมาณ ประเมิน ปรับปรุง และสื่อสารความไม่แน่นอนของ โมเดลการเรียนรู้ของเครื่องเป็นแนวทางปฏิบัติทั่วไปเพื่อความโปร่งใสของ AI ประสบการณ์แบบอินเทอร์แอคทีฟ UQ360 ให้การแนะนำแนวคิดและความสามารถอย่างนุ่มนวลโดยอธิบายกรณีการใช้งานตัวอย่าง บทช่วยสอนและสมุดบันทึกตัวอย่างนำเสนอการแนะนำเชิงลึกที่เน้นนักวิทยาศาสตร์ข้อมูล API ที่สมบูรณ์ก็มีให้เช่นกัน
เราได้พัฒนาแพ็คเกจโดยคำนึงถึงความสามารถในการขยายการใช้งาน ห้องสมุดนี้ยังอยู่ในการพัฒนา เราสนับสนุนการมีส่วนร่วมของอัลกอริธึมการประมาณค่าความไม่แน่นอน ตัวชี้วัด และแอปพลิเคชันของคุณ หากต้องการเริ่มต้นในฐานะผู้สนับสนุน โปรดเข้าร่วมช่อง #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 )
การกำหนดค่าที่รองรับ:
ระบบปฏิบัติการ | เวอร์ชันหลาม |
---|---|
ระบบปฏิบัติการ macOS | 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 และบางส่วนได้แก่:
โปรดดูทั้งไฟล์ LICENSE ที่มีอยู่ในไดเร็กทอรีรากเพื่อดูข้อมูลใบอนุญาต