<p dir="auto">The checks in <code class="notranslate">Base_Estimator._get_param_names()</code> mean that subclasses of <code class="notranslate">mixture.GMM</code> that override <code class="notranslate">__init__()</code> must repeat the defaults for all of its keyword arguments, violating DRY. For example, running:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="from sklearn import mixture

class My_GMM(mixture.GMM):

   def __init__(self, *args, **kwargs):
      mixture.GMM.__init__(self, *args, **kwargs)

print My_GMM()"><pre class="notranslate"><code class="notranslate">from sklearn import mixture

class My_GMM(mixture.GMM):

   def __init__(self, *args, **kwargs):
      mixture.GMM.__init__(self, *args, **kwargs)

print My_GMM()
</code></pre></div>
<p dir="auto">gives the following exception:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="RuntimeError: scikit learn estimators should always specify their parameters in the signature of their init (no varargs)."><pre class="notranslate"><code class="notranslate">RuntimeError: scikit learn estimators should always specify their parameters in the signature of their init (no varargs).
</code></pre></div>
<p dir="auto">In other words, this seems to me like a problematic overloading of the constructor signature, and it makes it difficult to subclass <code class="notranslate">mixture.GMM</code>.</p>
<p dir="auto">Thanks for your hard work on scikit-learn!</p>
<p dir="auto">Currently RFECV fits the estimator twice for each setting of number of selected features.<br>
I think it could be sped up by a factor of two by not running the RFE estimator. Maybe the inner loop of rfe should be factored out.<br>
Also see: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="18664248" data-permission-text="Title is private" data-url="https://github.com/scikit-learn/scikit-learn/issues/2403" data-hovercard-type="issue" data-hovercard-url="/scikit-learn/scikit-learn/issues/2403/hovercard?comment_id=33963597&amp;comment_type=issue_comment" href="https://github.com/scikit-learn/scikit-learn/issues/2403#issuecomment-33963597">#2403 (comment)</a></p>