Packt Book Review - Data Science in .NET with Polyglot Notebooks

Posted by Azure Readiness starts here... on Saturday, December 7, 2024

In this post, I want to share my review of my next technical book I read recently, Data Science in .NET with Polyglot Notebooks this time from Matt Eland, (https://bsky.app/profile/matteland.dev) published by Packt Publishing and available on Amazon as well as other e-book subscription platforms.

Book Cover

If you have been following me for a while, you know I’m gradually learning more about coding and developing applications, especially using the .NET framework. More recently, I also started using Jupyter Notebooks to animate my Azure AI workshops - specifically Semantic Kernel demos - a bit more, by running .NET Interactive mode, which allows me to show snippets of .NET code running from the Notebook, instead of the (boring) Terminal window.

Seeing Matt’s post on Twitter regarding his upcoming book, immediately got my attention, given the technology he was about to cover. (Honestly, the Data Science part initially didn’t do it for me, LOL)

Book Review

Data Science in .NET with Polyglot Notebooks” is an insightful guide aimed at experienced .NET developers (which is not me…) who are eager to delve into the realms of data science, machine learning, and AI. This book stands out for its practical approach, leveraging the familiar .NET ecosystem to introduce complex data science concepts through interactive experiments. Reason I call out experienced .NET developers here, is because the book provides a wealth of code examples and data science specific. While I understand more and more about .NET and am able to build sample (demo) apps, in a lot of chapters, the data science piece was way above my head. But that doesn’t mean anything, and definitely shouldn’t stop YOU from going through the book if you are in the Data Science space.

Matt’s journey from ‘just being a .NET developer = his words’ to a developer-data scientist is reflected in the structure and content of the book. He effectively bridges the gap between traditional software development and modern data science, making it accessible for those already proficient in .NET technologies. The book covers a wide range of topics, including data analysis, data visualization, machine learning with ML.NET, and AI orchestration using tools like OpenAI and Semantic Kernel.

One of the book’s biggest strengths is its hands-on approach. Each chapter is designed to be interactive, encouraging readers to experiment with code in VS Code or GitHub Codespaces. (With the code being available on GitHub, other IDE development environments can obviously be used as well if that’s more in your wheelhouse…) This method not only reinforces learning but also helps developers (even juniors like myself) to see the immediate application of their skills in new domains. Which for me was the Semantic Kernel topic primarily.

The book is well-organized, starting with the basics of what Jupyter Notebooks are, a good overview of .NET developing framework, followed by data science and gradually moving towards more advanced topics.

From the list below, the bold highlighted were most relevant to the knowledge I wanted to gain:

  • Chapter 1: Data Science, notebooks, and kernels
  • Chapter 2: Exploring Polyglot Notebooks
  • Chapter 3: Getting Data & Code into Your Notebooks
  • Chapter 4: Working with Tabular Data & DataFrames
  • Chapter 5: Visualizing Data
  • Chapter 6: Visualizing Variable Relationships
  • Chapter 7: Classification Experiments with ML.NET AutoML
  • Chapter 8: Regression Experiments with ML.NET AutoML
  • Chapter 9: Beyond AutoML: Pipelines, Trainers, & Transforms
  • Chapter 10: Deploying machine learning models
  • Chapter 11: Generative AI in Polyglot Notebooks
  • Chapter 12: AI Orchestration with Semantic Kernel
  • Chapter 13: Enriching documentation with Mermaid diagrams
  • Chapter 14: Extending Polyglot Notebooks
  • Chapter 15: Adopting and deploying Polyglot Notebooks

The most interesting - but again, harder chapters for me because of being new to the Data Scientist craft - were the chapters on working with tabular data, visualizing data, and performing classification and regression experiments with ML.NET AutoML are particularly noteworthy. Additionally, Matt doesn’t hold back from delving into the deployment of machine learning models and the integration of generative AI, providing a comprehensive overview of the current capabilities of .NET in the data science space. From which I learned most by reading through this book to be honest.

Matt’s writing is clear and engaging, making complex topics approachable. His personal anecdotes and practical tips add a relatable touch, making the book not just a technical manual but also a narrative of his own learning journey. Which is also something I always try to add to my own technical books. Sure, you want to get the tech stuff, but hey, writing tech books is done by a human being with a certain set of experience. You want the tech stuff, you get the human being view for free…

Summary

In conclusion, “Data Science in .NET with Polyglot Notebooks” is a valuable resource for .NET developers looking to expand their skill set into data science and AI. It offers a blend of theoretical knowledge and practical application, making it a must-read for anyone interested in the intersection of .NET and data science.

If you’re still looking for a Christmas stocking stuffer, an overall little Holidays present for yourself or your acquintances, let this be a great recommendation.

If you got access to the book and reading it, or have read it already, don’t hesitate reaching out and providing your feedback.

To Matt… thanks man, this is a great work of art! Thanks for inspiring me to continue expanding my skillset on .NET, AI, Semantic Kernel, by throwing Notebooks at me, and teasing my brain with Data Science…

BuyMeACoffee

Cheers!!

/Peter