12
\$\begingroup\$

With the increase in popularity of machine learning and its libraries, we are also getting more machine learning questions.

Machine Learning is a tricky subject as the concept of whether or not the code "works" is even more grey than usual.

Which kind of Machine Learning questions are on-topic here?

  • "My Machine Learning is learning too slow"
  • "My Machine Learning is not learning at all"
  • "The (training/cross-validation/test error) in my Machine Learning is too big"
  • "My Machine Learning is running too slow"
  • "My Machine Learning currently has an accuracy of x%, which is pretty good. Can it go even higher"
  • (other questions I haven't thought of)
\$\endgroup\$
10
\$\begingroup\$

I think that the nature of the question itself lends to several options. Here are my thoughts based on Simon's examples.

"My Machine Learning is learning too slow"

These would seem to fall into Code Review's realm for performance improvements, if there is a performance issue indeed, but for algorithm issues it may be better on Data Science's performance tag.

"My Machine Learning is not learning at all"

These may be viable for Stack Overflow, if they can provide an MCVE.

"The (training/cross-validation/test error) in my Machine Learning is too big"

These seem to be algorithm issues that very well may be on-topic on Data Science, although we should keep in mind their What types of questions should I avoid asking? page before making recommendations to post there.

"My Machine Learning is running too slow"

These would seem to fall into Code Review's realm for performance improvements. Clarifications on memory/CPU/etc. usage may be useful to narrow down where the issues are.

"My Machine Learning currently has an accuracy of x%, which is pretty good. Can it go even higher"

These may be better fit on Cross Validated, if the issue is of statistical nature, rather than computer code nature.

\$\endgroup\$
9
\$\begingroup\$

I'll replace the "Machine Learning" parts of your question with "code" to keep it simple. After all, that's what it is.

"My code is learning too slow"

But it works, right? If that's the only issue, it's definitely on-topic. Classic case of a question.

"My code is not learning at all"

The entire purpose of ML code is to learn. If it doesn't learn at all, it's broken. Broken code has no place here.

"The (training/cross-validation/test error) in my code is too big"

That's an accuracy problem and where the trouble starts. How good is good enough? Speech recognition with an accuracy of 5%, that would be broken. After all, with such an accuracy it can't be working as intended. But where do we draw the line?

If the question is phrased as "The accuracy is not good enough" it reads an awful lot like questions where not all test cases are completed successfully. Which means the code is broken and not ready for review.

Another grey area would be questions saying "I currently get an accuracy of 70%, which is pretty good. Can it go even higher?".

So I guess it partly depends on how it's phrased. And I don't like that one bit. This is the major question we should be focussing on, I think.

"My Machine Learning is running too slow"

Also a question. No problem.

\$\endgroup\$
  • \$\begingroup\$ I added your "I currently get an accuracy of 70%, which is pretty good. Can it go even higher?" to the question. I also added a link to a related topic from a few years back. \$\endgroup\$ – Simon Forsberg Apr 14 '18 at 15:56
  • \$\begingroup\$ "My Machine Learning is running too slow" may often be an algorithm choice, implementation detail or problem-framing issue in ML. I don't know if those would be on-topic here (I've hopped over from Data Science)? \$\endgroup\$ – Neil Slater Apr 15 '18 at 8:26
  • \$\begingroup\$ @NeilSlater Pointing out the flaws in an algorithm can be part of a review. We even have the algorithm tag. \$\endgroup\$ – Mast Apr 15 '18 at 8:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .