To ML or Not to ML?
How AI Engineers Decide When Machine Learning Can Be Applied to Software and When It Cannot Be
A major part of being an AI Engineer is building machine learning (ML) features that truly enhance software applications.
But before jumping straight in, one critical question must come first:
Is machine learning actually the right solution for this problem?
And if it is, what kind of ML model makes sense?
Think about recommender systems on Amazon, Spotify, or Netflix; features like “Jobs You May Be Interested In” on LinkedIn, “People You May Know” on Instagram; or even writing suggestions in Grammarly. These are real-world examples of ML improving functionality and user experience.
In this post, I’ll discuss how AI Engineers evaluate whether ML should be applied, by considering the project goal, the data available, and the existence of suitable models to decide whether machine learning is the right tool, or if an alternative approach makes more sense.
Why Not Just Solve It With Code?
Let’s assume you have a clearly defined problem or a new feature you want to build.
For example:
A dog grooming app requires users to upload images of their dogs. You want to ensure that the uploaded image actually contains a dog.
Using traditional programming, you might try to write a series of rules and conditions:
Does it have four legs?
Does it have a tail?
Are there whiskers?
Does it have pointy ears?
If you’ve written code before, you can already see the problem.
This approach quickly turns into a maintenance nightmare full of loopholes and edge cases. What about dogs with cropped ears? Dogs lying down? Dogs partially out of frame? Wolves? Foxes? Stuffed toys?
Now compare that to a machine learning approach.
With ML, you can train an image classification model that learns patterns from thousands of labeled images and confidently determines whether an uploaded image contains a dog or not.
This is why a core skill for AI Engineers is knowing which problems are better solved with machine learning and identifying the appropriate ML approach to use.
Evaluating Whether Machine Learning Is Feasible
To decide if machine learning is a viable solution, two fundamental questions must be answered:
What data is required for this task?
What machine learning models can be applied using that data?
Let’s break these down.
Data: The Foundation of Machine Learning
Data is one of the most valuable commodities of the 21st century (and for good reason).
Machine learning systems learn from data. That means AI is only as good as the data it was trained on.
For example, voice assistants trained primarily on accents from a limited geographic region will perform poorly for users outside that group. Imagine my grandmother, with her thick Igbo accent, trying to use Alexa or Siri.
(internal screaming)
Even I have to code-switch when speaking to AI systems. And honestly, having to do that unconsciously after finally unlearning it in human conversations is wild.
When evaluating data for machine learning, two key factors matter:
The type of data required
The availability of that data
Data Type: What Exactly Do You Need?
You cannot determine the type of data you need unless you are crystal clear about the problem you’re solving.
Some examples:
A dog grooming app → images of dogs
A writing assistant → text samples with excellent grammar
A sales forecasting system → historical sales data
A recommendation system → user behavior and interaction data
The problem definition always comes first. The data follows.
Data Availability: Where Will the Data Come From?
This is often the hardest part of the evaluation.
Where will your data come from?
Web scraping
Organizational or internal data
Open-source or public datasets
Synthetic data
The type of machine learning model you choose also determines the kind of data you’ll need.
Labeled data is essential for supervised learning tasks like classification. For example, a pet classifier requires images labeled as dog, cat, not a pet, etc.
Weakly labeled data can be inferred from user behavior. For example, Spotify may interpret skipping a song early as a signal that the user didn’t enjoy it and adjust future recommendations accordingly.
Unlabeled data is useful for discovering hidden patterns or trends that aren’t immediately obvious to humans.
Choosing the Right Machine Learning Model
Once you understand your data, the next step is identifying the appropriate ML model for your problem.
Here are some common categories of machine learning models used in real-world applications.
Classification and Regression
Classification assigns data to predefined categories.
Examples include spam detection, fraud detection, or determining whether an image contains a dog.Regression focuses on prediction.
For example: predicting house prices, future sales, or economic trends.
Will Nigeria win the next World Cup?
(I hate that I don’t need AI to answer this question 😭)
Knowledge Extraction
Knowledge extraction models transform unstructured data into structured insights.
Examples include:
Analyzing customer reviews to identify popular product features
Examining airport traffic data to uncover common travel routes or preferred airlines
Catalog Organization and Recommendation Systems
These models learn from past user behavior to make future recommendations.
Examples:
“People You May Know” on Facebook
Product recommendations on Amazon
Content suggestions on Netflix
(Yes, I viewed her profile. No, I did not follow her. Please stop suggesting her before I accidentally send a friend request 😭)
Generative Models
Generative models focus on creating new data eg, text, images, audio, or video.
This is currently the most popular application of AI. However, because outputs are open-ended, evaluating their reliability and safety in production environments becomes a challenge of its own.
Conclusion: When Machine Learning Makes Sense
Before committing to machine learning as a feature in your application, an AI Engineer must evaluate:
The problem being solved
The type and availability of data required
The appropriate machine learning model
Once these pieces are clear, you can confidently move forward with training models, validating results, and integrating ML into production systems.
Easy peasy. Lemon squeezy.
(…or not 😈)







