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:
Figure 2.1 – Traditional software development
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...