From 3ee145b8dc30ddc570e28f13bb40190e0e10b99e Mon Sep 17 00:00:00 2001 From: "reg.zhuce" Date: Tue, 20 Sep 2016 21:13:47 +0800 Subject: [PATCH] [jvm-packages] IndexOutOfBoundsException (#1589) ml.dmlc.xgboost4j.scala.spark.XGBoost.scala:51 values is empty when we meet it at first time, so values(0) throw an IndexOutOfBoundsException. It should be dVector.values(i) instead of values(i). --- .../src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala b/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala index 78e844283..9fe5fd264 100644 --- a/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala +++ b/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala @@ -48,7 +48,7 @@ object XGBoost extends Serializable { val indices = new ListBuffer[Int] val values = new ListBuffer[Double] for (i <- dVector.values.indices) { - if (values(i) != missing) { + if (dVector.values(i) != missing) { indices += i values += dVector.values(i) }