2015-12-08 82 views
12

XGBoost使用加法訓練方法,在該方法中,它模擬以前模型的殘差。XGBoost如何進行並行計算?

這是連續的,但它是如何並行計算呢?

+0

感謝提問 - 我有同樣的問題。 – nkhuyu

+0

一個很好的博客[這裏](http://www.parallelr.com/parallel-computation-with-r-and-xgboost/)涵蓋平行和XGboost。 – Patric

回答

19

Xgboost不會像您所記錄的那樣並行運行多個樹,您需要在每棵樹之後更新漸變之後進行預測。

相反,它並行化在一棵樹中我使用openMP獨立創建分支。

爲了觀察這個,建立一個巨大的數據集並運行n_rounds = 1。你會看到你的核心在一棵樹上射擊。這就是爲什麼它的設計如此之快。

+0

欲瞭解更多詳情,請參閱http://zhanpengfang.github.io/418home.html。 –

+0

@T。 Scharf但是,這對於多個節點(即多臺計算機)而言是如何工作的,而不是多臺核心的一臺計算機?在樹中同步樹的通信量將是巨大的 – AbdealiJK

+0

是沒有繞過這個事實.. @AbdealiJK但如果你的數據是如此之大,你需要分發它這是你付出的代價 –