<p dir="auto">Salute,</p>
<p dir="auto">currently the GP module does not allow to use multiple input feature with the same value. At least from the math point of view there is no need for this restriction. Though, I didn't go through the whole implementation to see if there is something special about it that would require this restriction. I tested it on some dummy problem (with noisy data) with and without multiple equal inputs and it worked fine and, not surprisingly, even better when using duplicates (more data yeay!).<br>
Any reasons to keep it?</p>
<p dir="auto">I would like to suggest that the LOF score which is calculated and stored in the <a href="https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neighbors/lof.py">LOF class</a> as <code class="notranslate">negative_outlier_factor_</code> is publicly accessible.<br>
</p><div class="Box Box--condensed my-2">
  <div class="Box-header f6">
    <p class="mb-0 text-bold">
      <a href="https://github.com/scikit-learn/scikit-learn/blob/18cf2e55807790cbeb929fd91c22b73a4aad71b0/sklearn/neighbors/lof.py#L193">scikit-learn/sklearn/neighbors/lof.py</a>
    </p>
    <p class="mb-0 color-fg-muted">
         Line 193
      in
      <a data-pjax="true" class="commit-tease-sha" href="/scikit-learn/scikit-learn/commit/18cf2e55807790cbeb929fd91c22b73a4aad71b0">18cf2e5</a>
    </p>
  </div>
  <div itemprop="text" class="Box-body p-0 blob-wrapper blob-wrapper-embedded data">
    <table class="highlight tab-size mb-0 js-file-line-container" data-tab-size="8" data-paste-markdown-skip="">

        <tbody><tr class="border-0">
          <td id="L193" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="193"></td>
          <td id="LC193" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> <span class="pl-s1">self</span>.<span class="pl-s1">negative_outlier_factor_</span> <span class="pl-c1">=</span> <span class="pl-c1">-</span><span class="pl-s1">np</span>.<span class="pl-en">mean</span>(<span class="pl-s1">lrd_ratios_array</span>, <span class="pl-s1">axis</span><span class="pl-c1">=</span><span class="pl-c1">1</span>) </td>
        </tr>
    </tbody></table>
  </div>
</div>
<br>
With this change it would be possible to not only use the 1 and -1 for no outlier and outlier as result of the LOF algorithm but also the LOF score. Possible usage scenarios would be a visualisation for more interpretable results, another way to calculate the threshold, manual setting of the threshold...<br>
If the community agrees with the change, I could make the modifications and submit a PR.<p></p>