title: What is the difference between OneVsRestClassifier and MultiOutputClassifier in scikit learn?
body: <p>Can someone please explain (with example maybe) what is the <strong>difference</strong> between <a href="http://scikit-learn.org/stable/modules/generated/sklearn.multiclass.OneVsRestClassifier.html" rel="noreferrer">OneVsRestClassifier</a> and <a href="http://scikit-learn.org/stable/modules/generated/sklearn.multioutput.MultiOutputClassifier.html" rel="noreferrer">MultiOutputClassifier</a> in scikit-learn? </p>
  
  <p>I've read documentation and I've understood that we use:</p>
  
  <ul>
  <li><strong>OneVsRestClassifier</strong> - when we want to do multiclass or multilabel classification and it's strategy consists of <strong><em>fitting one classifier per class</em></strong>. For each classifier, the class is fitted against all the other classes. (This is pretty clear and it means that problem of multiclass/multilabel classification is broken down to multiple binary classification problems).</li>
  <li><strong>MultiOutputClassifier</strong> - when we want to do multi target classification (what is this?) and it's strategy consists of <strong><em>fitting one classifier per target</em></strong> (what does target mean there?)</li>
  </ul>
  
  <p>I've already used OneVsRestClassifier for multilabel classification and I can understand how does it work but then I found MultiOutputClassifier and can't understand how does it work differently from OneVsRestClassifier.</p>