Market Basket Analysis in R with example
How can we identify the different products which can be bundled
together to increase the sales ? The answer of the question is Market Basket Analysis or Apriori
Algorithm.
This article has been written in continuation of the previous article covering Basic of Market Basket Analysis.
We are taking a very common example of grocery store to make
you understand the algorithm step by step. Sample snapshot of the data is given
right side:
There are only two variables in the datasets
1) Customer Id – Unique identity number of customers
2) Products – Products bought by the customers
We would now cover all steps to run apriori algorithm in R
1. Let's first import the data.
Code 1:
mba_data<-read.csv("C:\\MBA_data_new.csv") # we are creating a data frame by importing csv file
<< Here is the screen shot of data in R.
mba_data( data frame in R) has two variable customer_id and products.
Each customer id has bought some products for example:
Each customer id has bought some products for example:
customer id 1 has bought
Bread
Butter
Eggs
Milk
2. We cannot directly use imported data to run apriori algorithm. We need to aggregate it first by customer id and transform into different format.
Code 2 :
trans <- split(mba_data$Products, mba_data$Customer_Id,"transactions")
head(trans) # you can check top 6 observation using head() function
Screenshot of top transaction :
We have transformed the data into the desired format to run the apriori algorithm. In order to run apriori algorithm, first, we need to install and load arules library package using below code.
Code 3:
install.packages("arules") # install arules library package
library(arules) # loading arules library
Below are the screenshots of R Console :
We have installed the arules library. Now we can run the apriori algorithm using following statement:
Code 4:
rules = apriori(trans, parameter=list(support=0.10, confidence=0.5,maxlen=2,minlen=2))
Below are the screen shot of R result.
We have successfully derived 66 rules( written second last line in the above screenshot).
Now lets have a look on those rules.
Code 5:
inspect(rules) # to get the rules
Screenshot for R.
Lets manually validate the first two rules ( buns => mustard and mustard => buns).
I hope that you would have read our last blog on Market Basket Analysis. In our last article we have explicitly explained support, confidence and lift.
Please read that article before getting into below calculation to understand it better.
If you want to export the rule file into csv file, you can get it by below mentioned code.
Code 6:
write(rules,file="mba_rules1.csv",sep=",",row.names = FALSE)
I hope, the article is useful in understanding the market basket analysis
2. We cannot directly use imported data to run apriori algorithm. We need to aggregate it first by customer id and transform into different format.
Code 2 :
trans <- split(mba_data$Products, mba_data$Customer_Id,"transactions")
head(trans) # you can check top 6 observation using head() function
Screenshot of top transaction :
We have transformed the data into the desired format to run the apriori algorithm. In order to run apriori algorithm, first, we need to install and load arules library package using below code.
Code 3:
install.packages("arules") # install arules library package
library(arules) # loading arules library
Below are the screenshots of R Console :
We have installed the arules library. Now we can run the apriori algorithm using following statement:
Code 4:
rules = apriori(trans, parameter=list(support=0.10, confidence=0.5,maxlen=2,minlen=2))
Below are the screen shot of R result.
We have successfully derived 66 rules( written second last line in the above screenshot).
Now lets have a look on those rules.
Code 5:
inspect(rules) # to get the rules
Screenshot for R.
Lets manually validate the first two rules ( buns => mustard and mustard => buns).
I hope that you would have read our last blog on Market Basket Analysis. In our last article we have explicitly explained support, confidence and lift.
Please read that article before getting into below calculation to understand it better.
If you want to export the rule file into csv file, you can get it by below mentioned code.
Code 6:
write(rules,file="mba_rules1.csv",sep=",",row.names = FALSE)
I hope, the article is useful in understanding the market basket analysis
Enjoy reading our other articles and stay tuned with ...
Kindly do provide your feedback in the 'Comments' Section and share as much as possible.
This comment has been removed by a blog administrator.
ReplyDeleteGreat Article Artificial Intelligence Projects
DeleteProject Center in Chennai
JavaScript Training in Chennai
JavaScript Training in Chennai
Hiring a proper book editor can make sure that your book makes it to publication in a more easy manner. WordsRu provides customized content to researchers for their thesis. Click below to know more
ReplyDeleteBook Editor
Book Editing Services
Book Editing Services Australia
Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates with excellent care
ReplyDeletehttp://chennaitraining.in/qliksense-training-in-chennai/
http://chennaitraining.in/pentaho-training-in-chennai/
http://chennaitraining.in/machine-learning-training-in-chennai/
http://chennaitraining.in/artificial-intelligence-training-in-chennai/
http://chennaitraining.in/msbi-training-in-chennai/
http://chennaitraining.in/citrix-training-in-chennai/
Infycle Technologies, the No.1 software training institute in Chennai offers the best Oracle training in Chennai for students, freshers, and tech professionals. In addition to Oracle, other in-demand courses such as Data Science, Big Data, Java, AWS, Machine Learning, Python, Power BI, Digital Marketing will be trained with 200% practical classes. Once the completion of training, the trainees will be sent for placement interviews in the top MNC's. Call 7502633633 to get more info and a free demo.Best Oracle Training in Chennai | Infycle Technologies
ReplyDeleteInfycle Technologies, the best software training institute cum placement center in Chennai offers the No.1 Data Science Training in Chennai for freshers, students, and tech professionals at the best offers. In addition to the Digital Marketing Training, other in-demand courses such as AWS, DevOps, Data Science, Python, Selenium, Big Data, Java, Power BI, Oracle will also be trained with 100% practical classes. After the completion of training, the trainees will be sent for placement interviews in the top MNC's. Call 7504633633 to get more info and a free demo.No.1 Data Science Training in Chennai | Infycle Technologies
ReplyDeleteTired of sharing long, nasty URLs? This app immediately shortens URLspeeka.0 peeka.0 peeka.0 peeka.0 peeka.0 peeka.0 peeka.0 peeka.0 peeka.0 peeka.0
ReplyDelete