
F# for Machine Learning Essentials
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Be a proficient F# data scientist using this simple-to-follow guide
- Solve real-world, data-related problems with robust statistical models, built for a range of datasets
Book DescriptionThe F# functional programming language enables developers to write simple code to solve complex problems. With F#, developers create consistent and predictable programs that are easier to test and reuse, simpler to parallelize, and are less prone to bugs. If you want to learn how to use F# to build machine learning systems, then this is the book you want. Starting with an introduction to the several categories on machine learning, you will quickly learn to implement time-tested, supervised learning algorithms. You will gradually move on to solving problems on predicting housing pricing using Regression Analysis. You will then learn to use Accord.NET to implement SVM techniques and clustering. You will also learn to build a recommender system for your e-commerce site from scratch. Finally, you will dive into advanced topics such as implementing neural network algorithms while performing sentiment analysis on your data.What you will learn - Use F# to find patterns through raw data
- Build a set of classification systems using Accord.NET, Weka, and F#
- Run machine learning jobs on the Cloud with MBrace
- Perform mathematical operations on matrices and vectors using Math.NET
- Use a recommender system for your own problem domain
- Identify tourist spots across the globe using inputs from the user with decision tree algorithms
Who this book is forIf you are a C# or an F# developer who now wants to explore the area of machine learning, then this book is for you. Familiarity with theoretical concepts and notation of mathematics and statistics would be an added advantage.
All prices
More details
Other editions
Additional editions

Person
Sudipta Mukherjee was born in Kolkata and migrated to Bangalore. He is an electronics engineer by education and a computer engineer/scientist by profession and passion. He graduated in 2004 with a degree in electronics and communication engineering. He has a keen interest in data structure, algorithms, text processing, natural language processing tools development, programming languages, and machine learning at large. His first book on Data Structure using C has been received quite well. Parts of the book can be read on Google Books. The book was also translated into simplified Chinese, available from Amazon.cn. This is Sudipta's second book with Packt Publishing. His first book,.NET 4.0 Generics, was also received very well. During the last few years, he has been hooked to the functional programming style. His book on functional programming, Thinking in LINQ, was released in 2014. He lives in Bangalore with his wife and son. Sudipta can be reached via e-mail at sudipto80@yahoo.com and via Twitter at @samthecoder.
Content
- Cover
- Copyright
- Credits
- Foreword
- About the Author
- Acknowledgments
- About the Reviewers
- www.PacktPub.com
- Table of Contents
- Preface
- Chapter 1: Introduction to Machine Learning
- Objective
- Getting in touch
- Different areas where machine learning is being used
- Why use F#?
- Supervised machine learning
- Training and test dataset/corpus
- Some motivating real life examples of supervised learning
- Nearest Neighbour algorithm (a.k.a k-NN algorithm)
- Distance metrics
- Decision tree algorithms
- Unsupervised learning
- Machine learning frameworks
- Machine learning for fun and profit
- Recognizing handwritten digits - your "Hello World" ML program
- How does this work?
- Summary
- Chapter 2: Linear Regression
- Objective
- Different types of linear regression algorithms
- APIs used
- Math.NET Numerics for F# 3.7.0
- Getting Math.NET
- Experimenting with Math.NET
- The basics of matrices and vectors (a short and sweet refresher)
- Creating a vector
- Creating a matrix
- Finding the transpose of a matrix
- Finding the inverse of a matrix
- Trace of a matrix
- QR decomposition of a matrix
- SVD of a matrix
- Linear regression method of least square
- Finding linear regression coefficients using F#
- Finding the linear regression coefficients using Math.NET
- Putting it together with Math.NET and FsPlot
- Multiple linear regression
- Multiple linear regression and variations using Math.NET
- Weighted linear regression
- Plotting the result of multiple linear regression
- Ridge regression
- Multivariate multiple linear regression
- Feature scaling
- Summary
- Chapter 3: Classification Techniques
- Objective
- Different classification algorithms you will learn
- Some interesting things you can do
- Binary classification using k-NN
- How does it work?
- Finding cancerous cells using k-NN: a case study
- Understanding logistic regression
- The sigmoid function chart
- Binary classification using logistic regression (using Accord.NET)
- Multiclass classification using logistic regression
- How does it work?
- Multiclass classification using decision trees
- Obtaining and using WekaSharp
- How does it work?
- Predicting a traffic jam using a decision tree: a case study
- Challenge yourself!
- Summary
- Chapter 4: Information Retrieval
- Objective
- Different IR algorithms you will learn
- What interesting things can you do?
- Information retrieval using tf-idf
- Measures of similarity
- Generating a PDF from a histogram
- Minkowski family
- L1 family
- Intersection family
- Inner Product family
- Fidelity family or squared-chord family
- Squared L2 family
- Shannon's Entropy family
- Similarity of asymmetric binary attributes
- Some example usages of distance metrics
- Finding similar cookies using asymmetric binary similarity measures
- Grouping/clustering color images based on Canberra distance
- Summary
- Chapter 5: Collaborative Filtering
- Objective
- Different classification algorithms you will learn
- Vocabulary of collaborative filtering
- Baseline predictors
- Basis of User-User collaborative filtering
- Implementing basic user-user collaborative filtering using F#
- Code walkthrough
- Variations of gap calculations and similarity measures
- Item-item collaborative filtering
- Top-N recommendations
- Evaluating recommendations
- Prediction accuracy
- Confusion matrix (decision support)
- Ranking accuracy metrics
- Prediction-rating correlation
- Working with real movie review data (Movie Lens)
- Summary
- Chapter 6: Sentiment Analysis
- Objective
- What you will learn
- A baseline algorithm for SA using SentiWordNet lexicons
- Handling negations
- Identifying praise or criticism with sentiment orientation
- Pointwise Mutual Information
- Using SO-PMI to find sentiment analysis
- Summary
- Chapter 7: Anomaly Detection
- Objective
- Different classification algorithms
- Some cool things you will do
- The different types of anomalies
- Detecting point anomalies using IQR (Interquartile Range)
- Detecting point anomalies using Grubb's test
- Grubb's test for multivariate data using Mahalanobis distance
- Code walkthrough
- Chi-squared statistic to determine anomalies
- Detecting anomalies using density estimation
- Strategy to convert a collective anomaly to a point anomaly problem
- Dealing with categorical data in collective anomalies
- Summary
- Index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.