Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Java Data Analysis

You're reading from   Java Data Analysis Data mining, big data analysis, NoSQL, and data visualization

Arrow left icon
Product type Paperback
Published in Sep 2017
Publisher Packt
ISBN-13 9781787285651
Length 412 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Author (1):
Arrow left icon
John R. Hubbard John R. Hubbard
Author Profile Icon John R. Hubbard
John R. Hubbard
Arrow right icon
View More author details
Toc

Table of Contents (14) Chapters Close

Preface 1. Introduction to Data Analysis 2. Data Preprocessing FREE CHAPTER 3. Data Visualization 4. Statistics 5. Relational Databases 6. Regression Analysis 7. Classification Analysis 8. Cluster Analysis 9. Recommender Systems 10. NoSQL Databases 11. Big Data Analysis with Java A. Java Tools Index

A simple recommender system


Here is an item-to-item version in which the utility matrix is Boolean: .

Recommender algorithm 1 is as follows. Given an input list of (i, j) pairs, representing purchases of items yj bought by users xi:

  1. Initialize the utility matrix (uij) with m rows and n columns, where m is the number of users and n is the number of items.

  2. For each pair (i, j) in the input list, set uij = 1.

  3. Initialize the similarity matrix (sjk) with n rows and n columns.

  4. For each j = 1…n and each k = 1…n, set sjk = s(u, v), the cosine similarity of the jth column u and the kth column v of the utility matrix.

  5. For a given user-purchase pair (i, j) (that is, uij = 1):

    • Find the set S of items not bought by user i

    • Sort the items in S according to how similar they are to item j

  6. Recommend the top n1 elements of S, where n1 is a specified constant much less than n.

To implement this algorithm, we need an input list of purchases. The program in Listing 9.2 generates a random list of pairs, where the pair...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime