title: Incremental PCA
body: <p>I've never used incremental PCA which exists in sklearn and I'm a bit confused about it's parameters and not able to find a good explanation of them.</p>
  
  <p>I see that there is <code>batch_size</code> in the constructor, but also, when using <code>partial_fit</code> method you can again pass only a part of your data, I've found the following way:</p>
  
  <pre><code>n = df.shape[0]
  chunk_size = 100000
  iterations = n//chunk_size
  
  ipca = IncrementalPCA(n_components=40, batch_size=1000)
  
  for i in range(0, iterations):
      ipca.partial_fit(df[i*chunk_size : (i+1)*chunk_size].values)
  
  ipca.partial_fit(df[iterations*chunk_size : n].values)
  </code></pre>
  
  <p>Now, what I don't understand is the following - when using partial fit, does the batch_size play any role at all, or not? And how are they related? </p>
  
  <p>Moreover, if both are considered, how should I change their values properly, when wanting to increase the precision while increasing memory footprint (and the other way around, decrease the memory consumption for the price of decreased accuracy)?</p>