title: sci-kit learn TruncatedSVD explained_variance_ratio_ not in descending order?
body: <p>This question is actually a duplicate of <a href="https://stackoverflow.com/questions/35299061/scikit-learn-truncatedsvds-explained-variance-ratio-not-in-descending-order">this one</a>, which however remains unanswered at the time of writing.</p>
  
  <p>Why is the <code>explained_variance_ratio_</code> from <code>TruncatedSVD</code> not in descending order like it would be from <code>PCA</code>? In my experience it seems that the first element of the list is always the lowest, and then at the second element the value jumps up and then goes in descending order from there. Why is <code>explained_variance_ratio_[0]</code> &lt;  <code>explained_variance_ratio_[1]</code> ( > <code>explained_variance_ratio_[2]</code> > <code>explained_variance_ratio_[3]</code> ...)? Does this mean the second "component" actually explains the most variance (not the first)?</p>
  
  <p>Code to reproduce behavior: </p>
  
  <pre><code>from sklearn.decomposition import TruncatedSVD
  
  n_components = 50
  X_test = np.random.rand(50,100)
  
  model = TruncatedSVD(n_components=n_components, algorithm = 'randomized')
  model.fit_transform(X_test)
  model.explained_variance_ratio_
  </code></pre>