{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 使用Surprise构建推荐系统" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-08-31T14:58:19.010939Z", "start_time": "2020-08-31T14:58:17.934111Z" } }, "outputs": [], "source": [ "import pandas as pd\n", "from surprise import Dataset\n", "from surprise import Reader" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2020-08-31T14:58:32.236700Z", "start_time": "2020-08-31T14:58:32.229934Z" } }, "outputs": [], "source": [ "critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5,\n", " 'Just My Luck': 3.0, 'Superman Returns': 3.5, 'You, Me and Dupree': 2.5,\n", " 'The Night Listener': 3.0},\n", " 'Gene Seymour': {'Lady in the Water': 3.0, 'Snakes on a Plane': 3.5,\n", " 'Just My Luck': 1.5, 'Superman Returns': 5.0, 'The Night Listener': 3.0,\n", " 'You, Me and Dupree': 3.5},\n", " 'Michael Phillips': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.0,\n", " 'Superman Returns': 3.5, 'The Night Listener': 4.0},\n", " 'Claudia Puig': {'Snakes on a Plane': 3.5, 'Just My Luck': 3.0,\n", " 'The Night Listener': 4.5, 'Superman Returns': 4.0,\n", " 'You, Me and Dupree': 2.5},\n", " 'Mick LaSalle': {'Lady in the Water': 3.0, 'Snakes on a Plane': 4.0,\n", " 'Just My Luck': 2.0, 'Superman Returns': 3.0, 'The Night Listener': 3.0,\n", " 'You, Me and Dupree': 2.0},\n", " 'Jack Matthews': {'Lady in the Water': 3.0, 'Snakes on a Plane': 4.0,\n", " 'The Night Listener': 3.0, 'Superman Returns': 5.0, 'You, Me and Dupree': 3.5},\n", " 'Toby': {'Snakes on a Plane':4.5,'You, Me and Dupree':1.0,'Superman Returns':4.0}}" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2020-08-31T15:01:42.234635Z", "start_time": "2020-08-31T15:01:42.231117Z" } }, "outputs": [], "source": [ "dat = []\n", "for i in critics:\n", " for j in critics[i]: \n", " dat.append([i, j, critics[i][j]])\n", "\n", "df = pd.DataFrame(dat, columns = ['user', 'item', 'rating'])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2020-08-31T15:16:05.590202Z", "start_time": "2020-08-31T15:16:05.580848Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", " | user | \n", "item | \n", "rating | \n", "
---|---|---|---|
0 | \n", "Lisa Rose | \n", "Lady in the Water | \n", "2.5 | \n", "
1 | \n", "Lisa Rose | \n", "Snakes on a Plane | \n", "3.5 | \n", "
2 | \n", "Lisa Rose | \n", "Just My Luck | \n", "3.0 | \n", "
3 | \n", "Lisa Rose | \n", "Superman Returns | \n", "3.5 | \n", "
4 | \n", "Lisa Rose | \n", "You, Me and Dupree | \n", "2.5 | \n", "