<p>In <a href="https://github.com/mlpack/mlpack/pull/686#discussion_r69383738">src/mlpack/methods/ne/neat.hpp</a>:</p>
<pre style='color:#555'>&gt; +    double totalAverageRank = std::accumulate(speciesAverageRank.begin(), speciesAverageRank.end(), 0);
&gt; +
&gt; +    for (ssize_t i=0; i&lt;population.aSpecies.size(); ++i) {
&gt; +      double weak = (std::floor(speciesAverageRank[i] * population.PopulationSize() / totalAverageRank)
&gt; +                    &gt; 1);
&gt; +      if (weak) {
&gt; +        population.RemoveSpecies(i);
&gt; +      }
&gt; +    }
&gt; +  }
&gt; +
&gt; +  // Remove empty species.
&gt; +  void RemoveEmptySpecies(Population&amp; population) {
&gt; +    for (ssize_t i=0; i&lt;population.aSpecies.size(); ++i) {
&gt; +      if (population.aSpecies[i].aGenomes.size() == 0) {
&gt; +        population.aSpecies.erase(population.aSpecies.begin() + i);
</pre>
<p>I would go with the extra <code>RemoveSpecies</code>function.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/mlpack/mlpack/pull/686/files/554a279b0089e4385dfb40077e578d6ae2a42ece#r69383738">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe/AJ4bFLozTAYVpY71iB36kn8YyW1NjMN_ks5qRvWjgaJpZM4IwJa6">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFFc2PZjjVfMclmSReodsemDyWsVzks5qRvWjgaJpZM4IwJa6.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/mlpack/mlpack/pull/686/files/554a279b0089e4385dfb40077e578d6ae2a42ece#r69383738"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>