title: multiclass classification in xgboost (python)
body: <p>I can't figure out how to pass number of classes or eval metric to xgb.XGBClassifier with the objective function 'multi:softmax'.</p>
  
  <p>I looked at many documentations but the only talk about the sklearn wrapper which accepts n_class/num_class.</p>
  
  <p>My current setup looks like</p>
  
  <pre><code>kf = cross_validation.KFold(y_data.shape[0], \
      n_folds=10, shuffle=True, random_state=30)
  err = [] # to hold cross val errors
  # xgb instance
  xgb_model = xgb.XGBClassifier(n_estimators=_params['n_estimators'], \
      max_depth=params['max_depth'], learning_rate=_params['learning_rate'], \
      min_child_weight=_params['min_child_weight'], \
      subsample=_params['subsample'], \
      colsample_bytree=_params['colsample_bytree'], \
      objective='multi:softmax', nthread=4)
  
  # cv
  for train_index, test_index in kf:
      xgb_model.fit(x_data[train_index], y_data[train_index], eval_metric='mlogloss')
      predictions = xgb_model.predict(x_data[test_index])
      actuals = y_data[test_index]
      err.append(metrics.accuracy_score(actuals, predictions))
  </code></pre>