yzhao062/combo

(AAAI' 20) A Python Toolbox for Machine Learning Model Combination

解決的問題

combo 是一個 Python 工具箱,協助您將多個機器學習模型及其預測分數整合成單一更強大的結果。訓練多個模型後,融合其輸出通常能比單獨使用任一模型獲得更高的準確率與穩健性。此套件讓此整合步驟在分類、聚類與異常檢測任務中變得簡單且一致。

作用方式

combo 提供統一的 API,用於整合來自 scikit-learn、XGBoost 與 LightGBM 的模型。您首先準備一組基礎估計器(例如:決策樹、邏輯回歸、k-最近鄰、隨機森林)。接著選擇一種組合方式——如簡單平均、加權平均、多數決,或更進階的策略,例如堆疊(元學習)、動態分類器/集成選擇(DCS/DES)與聚類集成(EAC)。該套件也包含針對異常檢測器的專用組合方法,如最大值平均(AOM)與局部選擇性組合(LSCP)。所有方法共享相同的 fit / predict / predict_proba 接口,因此切換策略非常直覺。在可能的情況下,會使用 numba 與 joblib 來加速運算。

適用對象

希望透過整合多個訓練好的模型來提升模型效能的資料科學家、ML 實務者與研究人員,特別適用於分類、聚類或異常/異常檢測任務。對於準備 Kaggle 風格競賽提交的使用者也非常實用,因為集成方法通常能有效提升分數。

主要特色

  • 所有組合方法皆採用統一 API —— 相同的 fit/predict/predict_proba 模式。
  • 支援通用組合(平均、加權平均、最大值、中位數、多數決)與進階方法(堆疊、DCS、DES、EAC、LSCP、XGBOD)。
  • 兼容主流 ML 套件:scikit-learn、XGBoost、LightGBM 與用於異常檢測的 pyod。
  • 提供分類器組合、聚類組合與異常檢測器組合的具體範例與樣本輸出。
  • 在可能的情況下,使用 numba(JIT)與 joblib(平行化)進行最佳化。

相關

  • 專案
  • 專案
  • 專案
  • 專案