MACHINE LEARNING PROBLEMS ARE NEVER STANDARD
For a successful application, your collaboration is essential.
Real-world machine learning problems are not standard. Finding solutions is often an exploratory process, with some trial and error.
The collaboration and consultation with clients is of great importance during all stages on the process: the domain expertise of the client is in indispensable for a successful model building. Feedback from the client on (intermediate) results may possibly lead to essential adjustments in the project.
To control risk of failure, we work in a phased approach.
Usually one or a few informal meetings, where we discuss the problem at hand, the available data and domain knowledge, and the viability of the different machine learning approaches.
The goal of a pilot study is to get an estimate of the performance that can be achieved with the given data and domain knowledge. Usually, we restrict the pilot to a limited part of the data and/or domain.
The goal of a prototype is to get more insight in the operational aspects of the application.
A partial or full application, possibly with maintenance and support can be developed, depending on the needs of the client.
Whether a phase is to be realized depends on the results of the earlier stages, and of course on the wishes of the client. The required time and effort of the different phases in the process depends strongly on the specific problem.
MACHINE LEARNING PROJECTS ARE DIFFERENT
The success of a machine learning project depends strongly on your input: in particular the prediction models are data-driven. The performance of these models depends strongly on the availability of a representative data set and a good understanding of the potentially relevant features.
Modeling of Bayesian networks may need less data, but then they rely more on your domain knowledge, which may be hard to quantify.
Often it is not possible to fully specify the solution without experimenting and building prototypes. This is usually an iterative process