add default values for Scala API

This commit is contained in:
CodingCat 2016-03-02 17:21:42 -05:00
parent cbf5eba9c0
commit 8c220f51fc

View File

@ -21,8 +21,13 @@ import ml.dmlc.xgboost4j.{XGBoost => JXGBoost}
object XGBoost {
def train(params: Map[String, AnyRef], dtrain: DMatrix, round: Int,
watches: Map[String, DMatrix], obj: ObjectiveTrait, eval: EvalTrait): Booster = {
def train(
params: Map[String, AnyRef],
dtrain: DMatrix,
round: Int,
watches: Map[String, DMatrix] = Map[String, DMatrix](),
obj: ObjectiveTrait = null,
eval: EvalTrait = null): Booster = {
val jWatches = watches.map{case (name, matrix) => (name, matrix.jDMatrix)}
val xgboostInJava = JXGBoost.train(params.asJava, dtrain.jDMatrix, round, jWatches.asJava,
obj, eval)
@ -33,10 +38,10 @@ object XGBoost {
params: Map[String, AnyRef],
data: DMatrix,
round: Int,
nfold: Int,
metrics: Array[String],
obj: ObjectiveTrait,
eval: EvalTrait): Array[String] = {
nfold: Int = 5,
metrics: Array[String] = null,
obj: ObjectiveTrait = null,
eval: EvalTrait = null): Array[String] = {
JXGBoost.crossValiation(params.asJava, data.jDMatrix, round, nfold, metrics, obj, eval)
}