title: One hot encoder confusion
body: <p>This is what I have done. I think there is something going on with One hot encoder.</p>
  
  <pre><code>from sklearn.datasets import make_classification
  from sklearn.feature_selection import RFE
  
  
  X, y = make_classification(n_samples=50, n_features=10, random_state=10)
  encoder = preprocessing.LabelEncoder()
  encoder.fit(X)
  X = encoder.transform(X)
  print X
  print X.shape
  
  encoder = preprocessing.OneHotEncoder()
  encoder.fit(X)
  X = encoder.transform(X)
  
  
  print encoder.feature_indices_
  
  estimator = SVR(kernel="linear")
  selector = RFE(estimator, 100, step=1)
  selector = selector.fit(X, y)
  </code></pre>
  
  <p>After using label encoder on X I got an array of shape (50, 10) (which is obvious). But after doing One hot encoding, the feature indices I get are as follows. </p>
  
  <pre><code>[   0  499  987 1487 1968 2459 2957 3401 3886 4379 4868]
  </code></pre>
  
  <p>As far as I know, the maximum range of between 2 indices should be less than or equal to number of rows, isn't it? which is 50. But here I got 500 instead of 50. Have I gotten it wrong about One hot encoding or is there any other issue with One hot encoding function?</p>
  
  <p>(This example is taken only to demonstrate my problem)</p>