title: How to return low prediction for data that is not supposed to be classified?
body: <p>I made a little app using OCR that returns me a list of values found on images. Out of these values, I need  to classify just 4 of it. For example let's say I have the following list :</p>
  <pre><code>l = ['dishwasher', 'shower', 'bed', 'toilet', 'fdgsdhdfhd', 'sudfgdfhdfghn']
  </code></pre>
  <p>Let's say I created a model that is capable to classify a word to a house room. So for firsts 4 values of l as input, the model should return something like that :</p>
  <pre><code>results = ['kitchen', 'bathroom', 'bedroom', 'WC']
  </code></pre>
  <p>When I try to classify my lasts 2 values it gives me for example:</p>
  <pre><code>results2 = ['kitchen', 'kitchen']
  </code></pre>
  <p>It should returns something like &quot;None&quot;.
  I use XGBoost classifier, with probabilities with predicted outputs but in my case it gives me results.
  To give you some precisions on my model, I have a 90% accuracy on my test set (50000 rows), so it does work well on &quot;known-type&quot; data.
  <strong>Is there anyway to &quot;tell&quot; my model that if I don't have enough good results then  it should give me an answer like &quot;None&quot; or whatever ? How can I have low accuracy on data that shouldn't be classified ?</strong></p>
  <p>I can give you more precisions if needed, because I know it's maybe hard to understand my issue.</p>