title: TypeError: fit() takes exactly 3 arguments (2 given) with sklearn and sklearn_pandas
body: <p>I'm trying to use the sklearn_pandas module to extend the work I do in pandas and dip a toe into machine learning but I'm struggling with an error I don't really understand how to fix.</p>
  
  <p>I was working through the following dataset on <a href="https://www.kaggle.com/c/data-science-london-scikit-learn/data" rel="nofollow">Kaggle</a>.</p>
  
  <p>It's essentially an unheadered table (1000 rows, 40 features) with floating point values.</p>
  
  <pre><code>import pandas as pdfrom sklearn import neighbors
  from sklearn_pandas import DataFrameMapper, cross_val_score
  path_train ="../kaggle/scikitlearn/train.csv"
  path_labels ="../kaggle/scikitlearn/trainLabels.csv"
  path_test = "../kaggle/scikitlearn/test.csv"
  
  train = pd.read_csv(path_train, header=None)
  labels = pd.read_csv(path_labels, header=None)
  test = pd.read_csv(path_test, header=None)
  mapper_train = DataFrameMapper([(list(train.columns),neighbors.KNeighborsClassifier(n_neighbors=3))])
  mapper_train
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>DataFrameMapper(features=[([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
         n_neighbors=3, p=2, weights='uniform'))])
  </code></pre>
  
  <p>So far so good. But then I try the fit</p>
  
  <pre><code>mapper_train.fit_transform(train, labels)
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>---------------------------------------------------------------------------
  TypeError                                 Traceback (most recent call last)
  &lt;ipython-input-6-e3897d6db1b5&gt; in &lt;module&gt;()
  ----&gt; 1 mapper_train.fit_transform(train, labels)
  
  //anaconda/lib/python2.7/site-packages/sklearn/base.pyc in fit_transform(self, X, y,     **fit_params)
      409         else:
      410             # fit method of arity 2 (supervised transformation)
  --&gt; 411             return self.fit(X, y, **fit_params).transform(X)
      412 
      413 
  
  //anaconda/lib/python2.7/site-packages/sklearn_pandas/__init__.pyc in fit(self, X, y)
      116         for columns, transformer in self.features:
      117             if transformer is not None:
  --&gt; 118                 transformer.fit(self._get_col_subset(X, columns))
      119         return self
      120 
  
  TypeError: fit() takes exactly 3 arguments (2 given)`
  </code></pre>
  
  <p>What am I doing wrong? While the data in this case is all the same, I'm planning to work up a workflow for mixtures categorical, nominal and floating point features and sklearn_pandas seemed to be a logical fit.</p>