- Mastering .NET Machine Learning
- Jamie Dixon
- 404字
- 2021-07-09 20:16:37
Why F#?
As we will be on the .NET Framework, we could use either C#, VB.NET, or F#. All three languages have strong support within Microsoft and all three will be around for many years. F# is the best choice for this book because it is unique in the .NET Framework for thinking in the scientific method and machine learning model creation. Data scientists will feel right at home with the syntax and IDE (languages such as R are also functional first languages). It is the best choice for .NET business developers because it is built right into Visual Studio and plays well with your existing C#/VB.NET code. The obvious alternative is C#. Can I do this all in C#? Yes, kind of. In fact, many of the .NET libraries we will use are written in C#.
However, using C# in our code base will make it larger and have a higher chance of introducing bugs into the code. At certain points, I will show some examples in C#, but the majority of the book is in F#.
Another alternative is to forgo .NET altogether and develop the machine learning models in R and Python. You could spin up a web service (such as AzureML), which might be good in some scenarios, but in disconnected or slow network environments, you will get stuck. Also, assuming comparable machines, executing locally will perform better than going over the wire. When we implement our models to do real-time analytics, anything we can do to minimize the performance hit is something to consider.
A third alternative that the .NET developers will consider is to write the models in T-SQL. Indeed, many of our initial models have been implemented in T-SQL and are part of the SQL Server Analysis Server. The advantage of doing it on the data server is that the computation is as close as you can get to the data, so you will not suffer the latency of moving large amount of data over the wire. The downsides of using T-SQL are that you can't implement unit tests easily, your domain logic is moving away from the application and to the data server (which is considered bad form with most modern application architecture), and you are now reliant on a specific implementation of the database. F# is open source and runs on a variety of operating systems, so you can port your code much more easily.
- The Complete Rust Programming Reference Guide
- PHP 7底層設(shè)計(jì)與源碼實(shí)現(xiàn)
- Hadoop+Spark大數(shù)據(jù)分析實(shí)戰(zhàn)
- Bootstrap Essentials
- 量化金融R語(yǔ)言高級(jí)教程
- Access 2010數(shù)據(jù)庫(kù)應(yīng)用技術(shù)(第2版)
- Lighttpd源碼分析
- 運(yùn)維前線:一線運(yùn)維專家的運(yùn)維方法、技巧與實(shí)踐
- Orleans:構(gòu)建高性能分布式Actor服務(wù)
- iOS開發(fā)項(xiàng)目化入門教程
- 會(huì)當(dāng)凌絕頂:Java開發(fā)修行實(shí)錄
- SQL Server實(shí)例教程(2008版)
- R語(yǔ)言實(shí)戰(zhàn)(第2版)
- C++面向?qū)ο蟪绦蛟O(shè)計(jì)
- Learning Redis