Machine Learning Projects for .NET Developers

Machine Learning Projects for .NET Developers shows you how to build smarter .NET applications that learn from data, using simple algorithms and techniques that can be applied to a wide range of real-world problems. You’ll code each project in the familia

  • PDF / 7,245,188 Bytes
  • 290 Pages / 504.06 x 720 pts Page_size
  • 92 Downloads / 225 Views

DOWNLOAD

REPORT


Contents at a Glance About the Author��������������������������������������������������������������������������������������������������� xiii About the Technical Reviewer���������������������������������������������������������������������������������xv Acknowledgments�������������������������������������������������������������������������������������������������xvii Introduction������������������������������������������������������������������������������������������������������������xix ■Chapter ■ 1: 256 Shades of Gray ����������������������������������������������������������������������������� 1 ■Chapter ■ 2: Spam or Ham?����������������������������������������������������������������������������������� 33 ■Chapter ■ 3: The Joy of Type Providers������������������������������������������������������������������ 67 ■Chapter ■ 4: Of Bikes and Men������������������������������������������������������������������������������� 93 ■Chapter ■ 5: You Are Not a Unique Snowflake������������������������������������������������������ 131 ■Chapter ■ 6: Trees and Forests����������������������������������������������������������������������������� 179 ■Chapter ■ 7: A Strange Game������������������������������������������������������������������������������� 211 ■Chapter ■ 8: Digits, Revisited������������������������������������������������������������������������������� 239 ■Chapter ■ 9: Conclusion��������������������������������������������������������������������������������������� 267 Index��������������������������������������������������������������������������������������������������������������������� 271

iii

Introduction If you are holding this book, I have to assume that you are a .NET developer interested in machine learning. You are probably comfortable with writing applications in C#, most likely line-of-business applications. Maybe you have encountered F# before, maybe not. And you are very probably curious about machine learning. The topic is getting more press every day, as it has a strong connection to software engineering, but it also uses unfamiliar methods and seemingly abstract mathematical concepts. In short, machine learning looks like an interesting topic, and a useful skill to learn, but it’s difficult to figure out where to start. This book is intended as an introduction to machine learning for developers. My main goal in writing it was to make the topic accessible to a reader who is comfortable writing code, and is not a mathematician. A taste for mathematics certainly doesn’t hurt, but this book is about learning some of the core concepts through code by using practical examples that illustrate how and why things work. But first, what is machine learning? Machine learning is the art of writing computer programs that get better at performing a task as more data becomes available, without requiring you, the developer, to change the code. This is a fairly broad definition, which reflects the fact that machine learning applies to a very broad range of domains. However, some specific as