Machine Learning Projects for .NET Developers

Mathias Brandewinder

商品描述

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 familiar setting of Visual Studio, while the machine learning logic uses F#, a language ideally suited to machine learning applications in .NET. If you’re new to F#, this book will give you everything you need to get started. If you’re already familiar with F#, this is your chance to put the language into action in an exciting new context.

In a series of fascinating projects, you’ll learn how to:

  • Build an optical character recognition (OCR) system from scratch
  • Code a spam filter that learns by example
  • Use F#’s powerful type providers to interface with external resources (in this case, data analysis tools from the R programming language)
  • Transform your data into informative features, and use them to make accurate predictions
  • Find patterns in data when you don’t know what you’re looking for
  • Predict numerical values using regression models
  • Implement an intelligent game that learns how to play from experience

Along the way, you’ll learn fundamental ideas that can be applied in all kinds of real-world contexts and industries, from advertising to finance, medicine, and scientific research. While some machine learning algorithms use fairly advanced mathematics, this book focuses on simple but effective approaches. If you enjoy hacking code and data, this book is for you.

What you’ll learn

  • Learn vocabulary and landscape of machine learning
  • Recognize patterns in problems and how to solve them
  • Learn simple prediction algorithms and how to apply them
  • Develop, diagnose and tune your models
  • Write elegant, efficient and bug-free functional code with F#

Who this book is for

Machine Learning Projects for .NET Developers is for intermediate to advanced .NET developers who are comfortable with C#. No prior experience of machine learning techniques is required. If you’re new to F#, you’ll find everything you need to get started. If you’re already familiar with F#, you’ll find a wealth of new techniques here to interest and inspire you.

While some machine learning algorithms use fairly advanced mathematics, this book focuses on simple but effective approaches and how they can be used in actual code. If you enjoy hacking code and data, this book is for you.

Table of Contents

Chapter 1: 256 Shades of Gray: Building A Program to Automatically Recognize Images of Numbers

Chapter 2: Spam or Ham? Detecting Spam in Text Using Bayes' Theorem

Chapter 3: The Joy of Type Providers: Finding and Preparing Data, From Anywhere

Chapter 4: Of Bikes and Men: Fitting a Regression Model to Data with Gradient Descent

Chapter 5: You Are Not An Unique Snowflake: Detecting Patterns with Clustering and Principle Component Analysis

Chapter 6: Trees and Forests: Making Predictions from Incomplete Data

Chapter 7: A Strange Game: Learning From Experience with Reinforcement Learning

Chapter 8: Digits, Revisited: Optimizing and Scaling Your Algorithm Code

Chapter 9: Conclusion

商品描述(中文翻譯)

《.NET 開發者的機器學習專案》向您展示如何建立更智能的 .NET 應用程式,讓它們能夠從數據中學習,使用簡單的演算法和技術,可應用於各種實際問題。您將在熟悉的 Visual Studio 環境中編寫每個專案,而機器學習邏輯則使用 F# 語言,這是一種非常適合在 .NET 中應用機器學習的語言。如果您對 F# 不熟悉,本書將為您提供入門所需的一切。如果您已經熟悉 F#,這是您有機會在一個令人興奮的新環境中實踐這種語言的機會。

在一系列引人入勝的專案中,您將學習如何:
- 從頭開始建立光學字符識別(OCR)系統
- 編寫一個能夠通過示例學習的垃圾郵件過濾器
- 使用 F# 強大的類型提供者與外部資源進行接口連接(在本例中,是來自 R 程式語言的資料分析工具)
- 將數據轉換為有信息量的特徵,並使用它們進行準確的預測
- 在不知道要尋找什麼的情況下,找出數據中的模式
- 使用回歸模型預測數值
- 實現一個能夠從經驗中學習如何玩的智能遊戲

在此過程中,您將學習到可以應用於各種實際情境和行業的基本思想,從廣告到金融、醫學和科學研究。雖然一些機器學習演算法使用相當高級的數學,但本書專注於簡單但有效的方法。如果您喜歡編寫程式碼和處理數據,這本書非常適合您。

您將學到:
- 學習機器學習的詞彙和領域
- 辨識問題中的模式以及如何解決它們
- 學習簡單的預測演算法以及如何應用它們
- 開發、診斷和調整模型
- 使用 F# 編寫優雅、高效且無錯誤的函數式程式碼

本書適合中高級 .NET 開發者,熟悉 C# 的人。不需要機器學習技術的先備知識。如果您對 F# 不熟悉,本書將為您提供入門所需的一切。如果您已經熟悉 F#,本書將為您提供豐富的新技術,激發您的興趣和靈感。

雖然一些機器學習演算法使用相當高級的數學,但本書專注於簡單但有效的方法以及如何在實際程式碼中應用它們。如果您喜歡編寫程式碼和處理數據,這本書非常適合您。

目錄:
第 1 章:256 種灰色:建立自動識別數字圖像的程式
第 2 章:垃圾郵件還是正常郵件?使用貝葉斯定理檢測垃圾郵件
第 3 章:類型提供者的樂趣:從任何地方找到並準備數據
第 4 章:關於自行車和人:使用梯度下降對數據擬合回歸模型
第 5 章:你不是獨一無二的雪花:使用聚類和主成分分析檢測模式
第 6 章:樹和森林:從不完整數據中進行預測
第 7 章:一個奇怪的遊戲:從經驗中學習
第 8 章:數字,再次回顧:優化和擴展您的演算法程式碼
第 9 章:結論