DEV Community

Rafael Arantes
Rafael Arantes

Posted on

Building a Rock Music Recommender with ML.NET: From Training to Model Evaluation

I've just published a practical series about building a music recommendation system using ML.NET and ASP.NET Core.

The goal wasn't just to train a recommendation model, but to explain the complete workflow, from understanding how recommendation systems work to evaluating whether the model is actually good enough to be used in a real application.

The series covers:
šŸŽø How recommendation systems work
šŸ“Š How to evaluate a recommendation model
šŸ¤– Training a rock music recommender with ML.NET
šŸ“ˆ Evaluating the recommender's performance
šŸš€ Exposing the model through an ASP.NET Core Web API

Articles:
https://devfullstack.net/blog/how-recommendation-systems-work

https://devfullstack.net/blog/how-to-evaluate-a-recommendation-model

https://devfullstack.net/blog/training-a-rock-recommender-with-mlnet

https://devfullstack.net/blog/evaluating-the-rock-recommender

https://devfullstack.net/blog/building-the-rock-recommender-api

Top comments (2)

Collapse
 
aahana_mallela profile image
Aahana Mallela

Nice that you split evaluation into its own dedicated post instead of tacking on an accuracy number at the end, that step is the one most recommender tutorials skip. Genre-based recommenders like rock are a good test case for this too, since a naive precision/recall number can look great while the model is just learning "recommend more rock to rock listeners" rather than anything about specific taste within the genre. Did your evaluation post get into ranking-aware metrics like NDCG or MAP@K, or mostly classification-style accuracy? Curious how ML.NET's built-in eval tooling handles ranked recommendation output versus a straight classifier.

Collapse
 
rafael_arantes_9833461dce profile image
Rafael Arantes

Thanks for your comment! In the evaluation article, I focused mainly on Precision@K, Recall@K, and NDCG, since I wanted to evaluate the quality of the ranked recommendations rather than just rating prediction. I briefly mentioned RMSE and MAE because they're commonly used in recommendation systems, but the project itself emphasizes ranking-based metrics. I completely agree that ranking-aware evaluation is essential for recommender systems.