Comparing ML to traditional programming
As with traditional application development, an ML project is also a software project, but there are fundamental differences in the way they are delivered. Let's understand how an ML project is different from a traditional software application.
In traditional software applications, a software developer writes a program that holds an explicitly handcrafted set of rules. At runtime or prediction time, the built software applies these well-defined rules to the given data, and the output of the program is the result calculated based on coded rules.
The following diagram shows the inputs and outputs (I/Os) for a traditional software application:
In an ML project, the rules or patterns are not completely known, therefore we cannot explicitly describe rules in code as we can in traditional programming. In ML, there is a process that extracts rules based on a given...