title: Found array with 0 sample(s) (shape=(0, 40)) while a minimum of 1 is required
body: <p>I'm testing a simple prediction program with Python 2.7, sklearn 0.17.1, numpy 1.11.0. I got matrix with propabilities from LDA model, and now I want create RandomForestClassifier to predict results by propabilities. 
  My code is:</p>
  
  <pre><code>maxlen = 40
  props = []
  for doc in corpus:
      topics = model.get_document_topics(doc) 
      tprops = [0] * maxlen
      for topic in topics:
          tprops[topics[0]] = topics[1]
      props.append(tprops)
  
  ntheta = np.array(props)
  ny = np.array(y)
  
  clf = RandomForestClassifier(n_estimators=100)
  accuracy = cross_val_score(clf, ntheta, ny, scoring = 'accuracy')
  print accuracy
  </code></pre>
  
  <hr>
  
  <pre><code>ValueError                                Traceback (most recent call last)
  &lt;ipython-input-65-a7d276df43e9&gt; in &lt;module&gt;()
        1 # clf.fit(nteta, ny)
        2 print nteta.shape, ny.shape
  ----&gt; 3 accuracy = cross_val_score(clf, nteta, ny, scoring = 'accuracy')
        4 print accuracy
  
  /home/egor/anaconda2/lib/python2.7/site-packages/sklearn/cross_validation.pyc in cross_val_score(estimator, X, y, scoring, cv, n_jobs, verbose, fit_params, pre_dispatch)
     1431                                               train, test, verbose, None,
     1432                                               fit_params)
  -&gt; 1433                       for train, test in cv)
     1434     return np.array(scores)[:, 0]
     1435 
  
  /home/egor/anaconda2/lib/python2.7/site-packages/sklearn/externals/joblib/parallel.pyc in __call__(self, iterable)
      798             # was dispatched. In particular this covers the edge
      799             # case of Parallel used with an exhausted iterator.
  --&gt; 800             while self.dispatch_one_batch(iterator):
      801                 self._iterating = True
      802             else:
  
  /home/egor/anaconda2/lib/python2.7/site-packages/sklearn/externals/joblib/parallel.pyc in dispatch_one_batch(self, iterator)
      656                 return False
      657             else:
  --&gt; 658                 self._dispatch(tasks)
      659                 return True
      660 
  
  /home/egor/anaconda2/lib/python2.7/site-packages/sklearn/externals/joblib/parallel.pyc in _dispatch(self, batch)
      564 
      565         if self._pool is None:
  --&gt; 566             job = ImmediateComputeBatch(batch)
      567             self._jobs.append(job)
      568             self.n_dispatched_batches += 1
  
  /home/egor/anaconda2/lib/python2.7/site-packages/sklearn/externals/joblib/parallel.pyc in __init__(self, batch)
      178         # Don't delay the application, to avoid keeping the input
      179         # arguments in memory
  --&gt; 180         self.results = batch()
      181 
      182     def get(self):
  
  /home/egor/anaconda2/lib/python2.7/site-packages/sklearn/externals/joblib/parallel.pyc in __call__(self)
       70 
       71     def __call__(self):
  ---&gt; 72         return [func(*args, **kwargs) for func, args, kwargs in self.items]
       73 
       74     def __len__(self):
  
  /home/egor/anaconda2/lib/python2.7/site-packages/sklearn/cross_validation.pyc in _fit_and_score(estimator, X, y, scorer, train, test, verbose, parameters, fit_params, return_train_score, return_parameters, error_score)
     1529             estimator.fit(X_train, **fit_params)
     1530         else:
  -&gt; 1531             estimator.fit(X_train, y_train, **fit_params)
     1532 
     1533     except Exception as e:
  
  /home/egor/anaconda2/lib/python2.7/site-packages/sklearn/ensemble/forest.pyc in fit(self, X, y, sample_weight)
      210         """
      211         # Validate or convert input data
  --&gt; 212         X = check_array(X, dtype=DTYPE, accept_sparse="csc")
      213         if issparse(X):
      214             # Pre-sort indices to avoid that each individual tree of the
  
  /home/egor/anaconda2/lib/python2.7/site-packages/sklearn/utils/validation.pyc in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
      405                              " minimum of %d is required%s."
      406                              % (n_samples, shape_repr, ensure_min_samples,
  --&gt; 407                                 context))
      408 
      409     if ensure_min_features &gt; 0 and array.ndim == 2:
  
  ValueError: Found array with 0 sample(s) (shape=(0, 40)) while a minimum of 1 is required.
  </code></pre>
  
  <hr>
  
  <p>UPD
  For what I got 2 minus? Let critic be constructive.</p>
  
  <hr>
  
  <p>UPD</p>
  
  <p><a href="https://stackoverflow.com/users/2779245/cotique" title="cotique">cotique</a> found that y was filled incorrect (must be other classes). And if y fills correct then the problem doesn't happens. In my case classes were wrong and their count were 39774. But in theory it's not an answer, why the error happens when we have 39774 classes and have to predict them.</p>