01.12.2019 | Research | Ausgabe 1/2019 Open Access

# Recommendation algorithm based on user score probability and project type

## 1 Introduction

## 2 The recommendation algorithm model of score preference and project type

### 2.1 User behavior information

### 2.2 Recommendation algorithm model of user score preference and project type

## 3 The algorithm of fusing score preference and project type

### 3.1 Prediction of user score probability

Prediction of scoring probability | |

Proba(int[][] grade) | |

Create a new 943×18 matrix pro | |

Traverse the grade | |

If(grade[a][m]!=0) | |

Get the type k of the movie m | |

pro[a][k]+1 |

### 3.2 Improvements in similarity calculations

_{i}, U

_{j}) is the final similarity, S(U

_{i}, U

_{j}) is the similarity calculated by using the user’s score value, S

_{sort}(U

_{i}, U

_{j}) is the similarity calculated by the commodity type and the scoring probability of product. The formula to calculate S

_{sort}(U

_{i}, U

_{j}) is as follows:

_{i}) is a type collection of commodities that are scored by U

_{i}. L(U

_{j}) is a type collection of commodities that are scored by U

_{j}. \( {P}_{U_ik} \) is the scoring probability of U

_{i}for the k type, and \( {\overline{P}}_{U_i} \) is the average of the scoring probability of U

_{i}for all the types. The k type is one of the intersection types scored by U

_{i}and U

_{j}.

### 3.3 The selection of the nearest neighbor

_{m}) is the neighbor list of the user U

_{m}and β is the threshold, which can be set to the average value of the similarity of all the users who are similar to the user U

_{m}. The specific implementation of selecting neighbor is as follows:

The selection of the nearest neighbor | |

FindNeighbor(int i, int k, int[][] grade, int[][] similar) | |

where i is the user, k is the commodity, grade is the score matrix, similar is the similarity matrix. | |

if(grade[j][k]!=0&&similar[i][j]!=0) | |

List_N[j]=similar[i][j], List_N is the neighbor list | |

Sort(List_N), sort the list of neighbors | |

choose the N neighbors we need |

### 3.4 Calculation of prediction score

_{i}, \( {r}_{u_jv} \) is score of U

_{j}to v, α is the attenuation factor, and Score(U

_{i}, v) is the prediction score of U

_{i}to v.

### 3.5 Evaluation indicators

_{uv}is a prediction of U to V, and \( {r}_{uv}^{\mathrm{test}} \) is the real score of U to V in the test set.

## 4 Experimental design and analysis

### 4.1 Data sources

### 4.2 Experimental design

_{m1}is the similarity between user m and user 1 in the matrix.

### 4.3 Experimental results and analysis

Number of neighbors | ||||||||
---|---|---|---|---|---|---|---|---|

10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | |

UBCF | 0.792 | 0.777 | 0.773 | 0.772 | 0.772 | 0.772 | 0.772 | 0.773 |

IBCF | 0.863 | 0.839 | 0.829 | 0.824 | 0.820 | 0.818 | 0.817 | 0.815 |

GSCF | 0.779 | 0.767 | 0.763 | 0.763 | 0.763 | 0.764 | 0.764 | 0.765 |

UPCF | 0.770 | 0.761 | 0.758 | 0.757 | 0.757 | 0.758 | 0.759 | 0.762 |

Number of neighbors | ||||||||
---|---|---|---|---|---|---|---|---|

10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | |

UBCF | 1.045 | 1.027 | 1.022 | 1.020 | 1.019 | 1.019 | 1.019 | 1.019 |

IBCF | 1.079 | 1.048 | 1.035 | 1.028 | 1.024 | 1.022 | 1.020 | 1.019 |

GSCF | 1.036 | 1.019 | 1.016 | 1.013 | 1.014 | 1.013 | 1.013 | 1.013 |

UPCF | 1.026 | 1.016 | 1.013 | 1.011 | 1.012 | 1.012 | 1.012 | 1.013 |