title: Encoding new data in the same format that encoded data used for training RF model
body: <p>I have a dataset with numerical and categorical data.  I have scaled and encoded respectively the columns Using one-hot-encoding.  I trained a Random Forest model with the data.  After acheiving good results with my test data I wnat to use the model to predict results with new data.  The problem is I don't know how can I efficiently transform my categorical data the same encoding used on training and testing data.  I used the same encoder but instead of having and array of 9 columns I only get 3 columns for one new data point.</p>
  
  <p>I tried already using the same encoder but I do not get the same number of columns.</p>
  
  <pre class="lang-py prettyprint-override"><code>categorical_columns=[['Product1','Segment1','Yes'],['Product1','Segment1','No'],
                      ['Product3','Segment2','No'],['Product2','Segment1','Yes'],
                      ['Product5','Segment2','No'],['Product4','Segment1','No'],
                      ['Product4','Segment1','Yes'],['Product1','Segment2','Yes']]
  df=pd.DataFrame(categorical_columns,columns=['Product_Type','Segment','Special_Feature'])
  
  from sklearn.preprocessing import OneHotEncoder
  encoder=OneHotEncoder(categories = "auto", handle_unknown = "ignore",sparse=False)
  ohe=encoder.fit_transform(df)
  
  new_categorical_data=np.array([['Product3','Segment1','Yes']])
  ohe_new=encoder.fit_transform(new_categorical_data)
  </code></pre>
  
  <p>I expect an array like:[[0,0,1,0,0,1,0,0,]] and I get an array like
  [[1,1,1]]</p>