If you want consistent results, you need a consistent process.
Here is every step I go through to tackle new Machine Learning problems.

Here is every step I go through to tackle new Machine Learning problems.


Step
What exactly is the problem that you need to solve?
Why do you need to solve this problem?
The answers should give you all the information you need to ensure a solid solution.



The answers should give you all the information you need to ensure a solid solution.

Step
What data do you have access to?
What's the format of that data?
How is that data going to be renewed/expanded?
Then you can focus on cleaning up the data and making it ready to solve the problem.




Then you can focus on cleaning up the data and making it ready to solve the problem.

Step
How would you solve this problem?
What are some algorithms that you could use?
For each potential solution:
Determine success metric.
Build a quick experiment.
Keep any promising candidate solutions. Discard the rest.



For each potential solution:


Keep any promising candidate solutions. Discard the rest.

Step
Iteratively try to improve each candidate's solution, until one surfaces as the best approach.
Pick the best candidate.
Improve its results.
At this point, you don't need the ultimate best solution. You need a working, decent solution.

Iteratively try to improve each candidate's solution, until one surfaces as the best approach.


At this point, you don't need the ultimate best solution. You need a working, decent solution.

Step
Does the solution match the problem?
Is the solution good enough?
Are the trade-offs and limitations acceptable?
Move back one or two steps if the evaluation is not successful.




Move back one or two steps if the evaluation is not successful.
