GACFF-package {GACFF} | R Documentation |
Genetic Similarity in User-Based Collaborative Filtering
Description
The genetic algorithm can be used directly to find the similarity of users and more effectively to increase the efficiency of the collaborative filtering method. By identifying the nearest neighbors to the active user, before the genetic algorithm, and by identifying suitable starting points, an effective method for user-based collaborative filtering method has been developed. This package uses an optimization algorithm (continuous genetic algorithm) to directly find the optimal similarities between active users (users for whom current recommendations are made) and others. First, by determining the nearest neighbor and their number, the number of genes in a chromosome is determined. Each gene represents the neighbor's similarity to the active user. By estimating the starting points of the genetic algorithm, it quickly converges to the optimal solutions. The positive point is the independence of the genetic algorithm on the number of data that for big data is an effective help in solving the problem.
Details
The DESCRIPTION file:
Package: | GACFF |
Type: | Package |
Title: | Genetic Similarity in User-Based Collaborative Filtering |
Version: | 1.0 |
Date: | 2019-12-08 |
Depends: | R (>= 3.0.0), graphics, stats, utils |
Encoding: | UTF-8 |
Author: | Farimah Houshmand Nanehkaran, Seyed Mohammad Reza Lajevardi <R.Lajevardi@iaukashan.ac.ir>, Mahmoud Mahlouji Bidgholi <m.mahlouji@iaukashan.ac.ir> |
Maintainer: | Farimah Houshmand Nanehkaran <hoshmandcomputer@gmail.com> |
Description: | The genetic algorithm can be used directly to find the similarity of users and more effectively to increase the efficiency of the collaborative filtering method. By identifying the nearest neighbors to the active user, before the genetic algorithm, and by identifying suitable starting points, an effective method for user-based collaborative filtering method has been developed. This package uses an optimization algorithm (continuous genetic algorithm) to directly find the optimal similarities between active users (users for whom current recommendations are made) and others. First, by determining the nearest neighbor and their number, the number of genes in a chromosome is determined. Each gene represents the neighbor's similarity to the active user. By estimating the starting points of the genetic algorithm, it quickly converges to the optimal solutions. The positive point is the independence of the genetic algorithm on the number of data that for big data is an effective help in solving the problem. |
License: | GPL (>= 2) |
RoxygenNote: | 7.0.1 |
Index of help topics:
GACFF-package Genetic Similarity in User-Based Collaborative Filtering Genetic The genetic algorithm for finding similarities between users. ItemSelect A set of Items id for recommending to an active user. NewKNN Nearest Neighbors. Pearson Pearson method Prediction prediction function Results Results of all active users. Similarity_Pearson Similarity between users in Pearson method. meanR.Results Average of results for all active users. plotResults Methods for Results objects.
Genetic-based recommender systems.
Finding the Nearest Neighbors and Using Them in the Genetic-Based Collaborative Filtering Recommender System.
Author(s)
Farimah Houshmand Nanehkaran, Seyed Mohammad Reza Lajevardi <R.Lajevardi@iaukashan.ac.ir>, Mahmoud Mahlouji Bidgholi <m.mahlouji@iaukashan.ac.ir>
Maintainer: Farimah Houshmand Nanehkaran <hoshmandcomputer@gmail.com>
References
Bobadilla, J., Ortega, F., Hernando, A. and Alcalá, J. (2011). Improving collaborative filtering recommender system results and performance using genetic algorithms. Knowledge-based systems, vol. 24, no. 8, pp. 1310-1316.
Ben-Shimon, D., Rokach, L. and Shapira, B. (2016). An ensemble method for top-N recommendations from the SVD. Expert Systems with Applications, vol. 64, pp.84-92.
Kang, Z., Peng, C. and Cheng, Q. (2016). Top-n recommender system via matrix completion. In Thirtieth AAAI Conference on Artificial Intelligence.
Qian, Y., Zhang, Y., Ma, X., Yu, H. and Peng, L. (2019). EARS: Emotion-aware recommender system based on hybrid information fusion. Information Fusion, vol. 46, pp.141-146.
Xia, B., Li, T., Li, Q. and Zhang, H. (2018). Noise-tolerance matrix completion for location recommendation. Data Mining and Knowledge Discovery, vol. 32, no. 1, pp.1-24.
Examples
ratings <- matrix(c( 2, 5, NaN, NaN, NaN, 4,
NaN, NaN, NaN, 1, NaN, 5,
NaN, 4, 5, NaN, 4, NaN,
4, NaN, NaN, 5, NaN, NaN,
5, NaN, 2, NaN, NaN, NaN,
NaN, 1, NaN, 4, 2, NaN),nrow=6,byrow=TRUE)
active_users <- c(1:dim(ratings)[2])
##1
sim.Pearson <- Similarity_Pearson (ratings, active_user=6,
near_user=c(1:dim(ratings)[2]))
##2
Pearson.out <- Pearson (ratings, active_user=6, Threshold_KNN=4)
##3
predict <-Prediction (ratings, active_user=6,
near_user=Pearson.out$near_user_Pearson,
sim_x=Pearson.out$sim_Pearson,
KNN=length(Pearson.out$sim_Pearson))
##4
ItemSelect (ratings, active_user=6, pre_x=predict)
##5
NewKNN.out <- NewKNN (ratings, active_user=6, Threshold_KNN=4,
max_scour=5, min_scour=1)
##6
Genetic.out <- Genetic (ratings, active_user=6,
near_user=NewKNN.out$near_user,
Threshold_KNN=4, max_scour=5, min_scour=1,
PopSize=100, MaxIteration=50, CrossPercent=70,
MutatPercent=20)
##7
Results.out <- Results(ratings, active_users, Threshold_KNN=4, max_scour=5,
min_scour=1, PopSize=100, MaxIteration=50,
CrossPercent=70, MutatPercent=20)
##8
meanR.Results.out <- meanR.Results (obj_Results=Results.out)
##9
plotResults(active_users, Results.out, xlab = "Iteration", ylab = "MAE",
main = "MAE (New KNN+GA) in CF Recommender Systems" )