title: How to optimize a sklearn pipeline, using XGboost, for a different `eval_metric`?
body: <p>I'm trying to use <a href="http://xgboost.readthedocs.io/en/latest/python/python_api.html" rel="noreferrer">XGBoost</a>, and optimize the <code>eval_metric</code> as <code>auc</code>(as described <a href="https://github.com/dmlc/xgboost/blob/master/doc/parameter.md" rel="noreferrer">here</a>). </p>
  
  <p>This works fine when using the classifier directly, but fails when I'm trying to use it as a <a href="https://github.com/scikit-learn/scikit-learn/blob/0.15.X/sklearn/pipeline.py#L125" rel="noreferrer">pipeline</a>. </p>
  
  <p>What is the correct way to pass a <code>.fit</code> argument to the sklearn pipeline?  </p>
  
  <p>Example: </p>
  
  <pre><code>from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import StandardScaler
  from sklearn.datasets import load_iris
  from xgboost import XGBClassifier
  import xgboost
  import sklearn
  
  print('sklearn version: %s' % sklearn.__version__)
  print('xgboost version: %s' % xgboost.__version__)
  
  X, y = load_iris(return_X_y=True)
  
  # Without using the pipeline: 
  xgb = XGBClassifier()
  xgb.fit(X, y, eval_metric='auc')  # works fine
  
  # Making a pipeline with this classifier and a scaler:
  pipe = Pipeline([('scaler', StandardScaler()), ('classifier', XGBClassifier())])
  
  # using the pipeline, but not optimizing for 'auc': 
  pipe.fit(X, y)  # works fine
  
  # however this does not work (even after correcting the underscores): 
  pipe.fit(X, y, classifier__eval_metric='auc')  # fails
  </code></pre>
  
  <p>The error:<br>
  <code>TypeError: before_fit() got an unexpected keyword argument 'classifier__eval_metric'</code></p>
  
  <p>Regarding the version of xgboost:<br>
  <code>xgboost.__version__</code> shows 0.6<br>
  <code>pip3 freeze | grep xgboost</code> shows <code>xgboost==0.6a2</code>.  </p>