我有一個Spark應用程序,它在libsvm格式的稀疏矩陣上使用梯度增強樹。在紗線叢集模式下花費Spark應用程序的時間
val model = GradientBoostedTrees.train(trainingData, boostingStrategy)
第一個是從什麼時候開始。然後我拍了一段時間的屏幕截圖。
如果你看單獨的任務 - 你會看到毫秒和秒。如果我把它們加起來,他們會給我幾分鐘的時間。不過,在我拍攝第二個屏幕時,我的應用程序運行了1.5小時。
所以我的問題是
我怎麼知道正在採取的時間(不是UI)90%?
如何在Spark上固定漸變增強過程。如果您看到大多數任務是ML Lib和決策樹內發生的事情。我使用了5個分區 - 我應該增加更多分區嗎?還有多少 ?
數據不斷增加,從37MB增加到19GB。爲什麼呢? - 這是一個問題嗎?
經過一段時間,當我完成了我的訓練,並試圖寫出預測(摺疊) - 我得到一個大小超過INT Max_Value錯誤。原因是 - 似乎有太多的文字被寫出來了?它是每個分區?
我必須訓練GBT的300輪數。我在3到4小時內掙扎了3次POC。使用MLLib在Spark中完成300輪梯度增強是否可能?
我在斯卡拉2.10.4和mllib 1.5.2
是的 - 我知道 - 但我已經用GBT在本地完成了,預測比我的訓練數據要好得多。事實上,現在GB已經成爲任何ML問題的默認算法 - 特別是隨着XGBoost的到來。我希望有人能幫助我。感謝您的回覆 – Run2