title: Sklearn stop on loss plateau during manual training
body: <p>Working with <code>sklearn</code>, the <code>fit</code> function of <code>MLPClassifier</code> is a nice one-size-fits-all solution; you call it once, and it trains until it hits the maximum number of iterations, or the training loss plateaus, all without any interaction. However, I had to change my code to accommodate some other features, and the standard <code>fit</code> function isn't configurable enough for what I want to do. I reconfigured my code to use <code>partial_fit</code> instead, manually running each iteration one at a time; but I can't figure out how to get my code to recognize when the loss plateaus, like in the <code>fit</code> function. I can't seem to find any properties or methods of <code>MLPClassifier</code> that allow me to access the loss value calculated by <code>partial_fit</code>, so that I can judge if the loss has plateau'd. It seems to me the only way to judge loss across each iteration would be to calculate it myself, despite the fact that <code>partial_fit</code> already calculates it, and even prints it to the console in verbose mode.</p>
  
  <p>Edit: Running <code>partial_fit</code> manually still does cause the training algorithm to recognize when training loss stops improving; it prints the message <code>Training loss did not improve more than tol=0.000100 for 10 consecutive epochs. Stopping.</code> after each iteration, once the training loss plateaus. However, because i'm controlling the iterations manually, it doesn't actually stop, and I have no way of figuring out in my code whether or not this message has been printed in order to stop it manually.</p>