Book Image

F# for Machine Learning Essentials

By : Sudipta Mukherjee
Book Image

F# for Machine Learning Essentials

By: Sudipta Mukherjee

Overview of this book

The 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.
Table of Contents (16 chapters)
F# for Machine Learning Essentials
About the Author
About the Reviewers

Using SO-PMI to find sentiment analysis

The following code finds the semantic orientation of a list of words. The variable posi holds the total positive semantic orientation while the variable negi holds the total negative semantic orientation. If posi is greater than negi then the phrase (comprising these words) is considered to have a positive polarity; otherwise it is considered to have a negative sentiment.

The following function encapsulates the logic above such that it can be called with pWords and nWords from a function (soPMI) that calculates the semantic orientation values for each element in a review.

The function soPMI calculates semantic orientation for each of the reviews. Each review is represented as a list of words as shown below. Let's say that the first element of the reviews list represents the review about a bank called Bank1 and the second element represents the list of review items for the review of a bank called Bank2:

The following call calculates semantic orientation...