Skip to content

Instantly share code, notes, and snippets.

@waitingfy
Created July 5, 2018 23:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save waitingfy/82be270453f8ac63bc9ee4f1a9a94a76 to your computer and use it in GitHub Desktop.
Save waitingfy/82be270453f8ac63bc9ee4f1a9a94a76 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import graphlab\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"This non-commercial license of GraphLab Create for academic use is assigned to waitingfy.com@gmail.com and will expire on June 23, 2019.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[INFO] graphlab.cython.cy_server: GraphLab Create v2.1 started. Logging: /tmp/graphlab_server_1530831640.log\n"
]
}
],
"source": [
"song_data = graphlab.SFrame('song_data.gl/')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\"><table frame=\"box\" rules=\"cols\">\n",
" <tr>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">user_id</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">song_id</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">listen_count</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">title</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">artist</th>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SOAKIMP12A8C130995</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">The Cove</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Jack Johnson</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SOBBMDR12A8C13253B</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Entre Dos Aguas</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Paco De Lucia</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SOBXHDL12A81C204C0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Stronger</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Kanye West</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SOBYHAJ12A6701BF1D</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Constellations</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Jack Johnson</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SODACBL12A8C13C273</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Learn To Fly</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Foo Fighters</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SODDNQT12A6D4F5F7E</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">5</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Apuesta Por El Rock 'N'<br>Roll ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Héroes del Silencio</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SODXRTY12AB0180F3B</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Paper Gangsta</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Lady GaGa</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SOFGUAY12AB017B0A8</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Stacked Actors</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Foo Fighters</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SOFRQTD12A81C233C0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Sehr kosmisch</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Harmonia</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">b80344d063b5ccb3212f76538<br>f3d9e43d87dca9e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">SOHQWYZ12A6D4FA701</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Heaven's gonna burn your<br>eyes ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Thievery Corporation<br>feat. Emiliana Torrini ...</td>\n",
" </tr>\n",
"</table>\n",
"<table frame=\"box\" rules=\"cols\">\n",
" <tr>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">song</th>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">The Cove - Jack Johnson</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Entre Dos Aguas - Paco De<br>Lucia ...</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Stronger - Kanye West</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Constellations - Jack<br>Johnson ...</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Learn To Fly - Foo<br>Fighters ...</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Apuesta Por El Rock 'N'<br>Roll - Héroes del ...</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Paper Gangsta - Lady GaGa</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Stacked Actors - Foo<br>Fighters ...</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Sehr kosmisch - Harmonia</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Heaven's gonna burn your<br>eyes - Thievery ...</td>\n",
" </tr>\n",
"</table>\n",
"[10 rows x 6 columns]<br/>\n",
"</div>"
],
"text/plain": [
"Columns:\n",
"\tuser_id\tstr\n",
"\tsong_id\tstr\n",
"\tlisten_count\tint\n",
"\ttitle\tstr\n",
"\tartist\tstr\n",
"\tsong\tstr\n",
"\n",
"Rows: 10\n",
"\n",
"Data:\n",
"+-------------------------------+--------------------+--------------+\n",
"| user_id | song_id | listen_count |\n",
"+-------------------------------+--------------------+--------------+\n",
"| b80344d063b5ccb3212f76538f... | SOAKIMP12A8C130995 | 1 |\n",
"| b80344d063b5ccb3212f76538f... | SOBBMDR12A8C13253B | 2 |\n",
"| b80344d063b5ccb3212f76538f... | SOBXHDL12A81C204C0 | 1 |\n",
"| b80344d063b5ccb3212f76538f... | SOBYHAJ12A6701BF1D | 1 |\n",
"| b80344d063b5ccb3212f76538f... | SODACBL12A8C13C273 | 1 |\n",
"| b80344d063b5ccb3212f76538f... | SODDNQT12A6D4F5F7E | 5 |\n",
"| b80344d063b5ccb3212f76538f... | SODXRTY12AB0180F3B | 1 |\n",
"| b80344d063b5ccb3212f76538f... | SOFGUAY12AB017B0A8 | 1 |\n",
"| b80344d063b5ccb3212f76538f... | SOFRQTD12A81C233C0 | 1 |\n",
"| b80344d063b5ccb3212f76538f... | SOHQWYZ12A6D4FA701 | 1 |\n",
"+-------------------------------+--------------------+--------------+\n",
"+-------------------------------+-------------------------------+\n",
"| title | artist |\n",
"+-------------------------------+-------------------------------+\n",
"| The Cove | Jack Johnson |\n",
"| Entre Dos Aguas | Paco De Lucia |\n",
"| Stronger | Kanye West |\n",
"| Constellations | Jack Johnson |\n",
"| Learn To Fly | Foo Fighters |\n",
"| Apuesta Por El Rock 'N' Roll | Héroes del Silencio |\n",
"| Paper Gangsta | Lady GaGa |\n",
"| Stacked Actors | Foo Fighters |\n",
"| Sehr kosmisch | Harmonia |\n",
"| Heaven's gonna burn your eyes | Thievery Corporation feat.... |\n",
"+-------------------------------+-------------------------------+\n",
"+-------------------------------+\n",
"| song |\n",
"+-------------------------------+\n",
"| The Cove - Jack Johnson |\n",
"| Entre Dos Aguas - Paco De ... |\n",
"| Stronger - Kanye West |\n",
"| Constellations - Jack Johnson |\n",
"| Learn To Fly - Foo Fighters |\n",
"| Apuesta Por El Rock 'N' Ro... |\n",
"| Paper Gangsta - Lady GaGa |\n",
"| Stacked Actors - Foo Fighters |\n",
"| Sehr kosmisch - Harmonia |\n",
"| Heaven's gonna burn your e... |\n",
"+-------------------------------+\n",
"[10 rows x 6 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"song_data.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Canvas is accessible via web browser at the URL: http://localhost:61780/index.html\n",
"Opening Canvas in default web browser.\n"
]
}
],
"source": [
"song_data['song'].show()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1116609"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(song_data)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"users = song_data['user_id'].unique()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"66346"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(users)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"train_data, test_data = song_data.random_split(.8, seed=0)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre>Recsys training: model = popularity</pre>"
],
"text/plain": [
"Recsys training: model = popularity"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Warning: Ignoring columns song_id, listen_count, title, artist;</pre>"
],
"text/plain": [
"Warning: Ignoring columns song_id, listen_count, title, artist;"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre> To use one of these as a target column, set target = <column_name></pre>"
],
"text/plain": [
" To use one of these as a target column, set target = <column_name>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre> and use a method that allows the use of a target.</pre>"
],
"text/plain": [
" and use a method that allows the use of a target."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Preparing data set.</pre>"
],
"text/plain": [
"Preparing data set."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre> Data has 893580 observations with 66085 users and 9952 items.</pre>"
],
"text/plain": [
" Data has 893580 observations with 66085 users and 9952 items."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre> Data prepared in: 1.442s</pre>"
],
"text/plain": [
" Data prepared in: 1.442s"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>893580 observations to process; with 9952 unique items.</pre>"
],
"text/plain": [
"893580 observations to process; with 9952 unique items."
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"popularity_model = graphlab.popularity_recommender.create(train_data, user_id='user_id', item_id='song')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\"><table frame=\"box\" rules=\"cols\">\n",
" <tr>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">user_id</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">song</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">score</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">rank</th>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Sehr kosmisch - Harmonia</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">4754.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Undo - Björk</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">4227.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">You're The One - Dwight<br>Yoakam ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3781.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Dog Days Are Over (Radio<br>Edit) - Florence + The ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3633.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">4</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Revelry - Kings Of Leon</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3527.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">5</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Horn Concerto No. 4 in E<br>flat K495: II. Romance ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3161.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">6</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Secrets - OneRepublic</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3148.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">7</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Fireflies - Charttraxx<br>Karaoke ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2532.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">8</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Tive Sim - Cartola</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2521.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">9</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Drop The World - Lil<br>Wayne / Eminem ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2053.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">10</td>\n",
" </tr>\n",
"</table>\n",
"[10 rows x 4 columns]<br/>\n",
"</div>"
],
"text/plain": [
"Columns:\n",
"\tuser_id\tstr\n",
"\tsong\tstr\n",
"\tscore\tfloat\n",
"\trank\tint\n",
"\n",
"Rows: 10\n",
"\n",
"Data:\n",
"+-------------------------------+--------------------------------+--------+------+\n",
"| user_id | song | score | rank |\n",
"+-------------------------------+--------------------------------+--------+------+\n",
"| c66c10a9567f0d82ff31441a9f... | Sehr kosmisch - Harmonia | 4754.0 | 1 |\n",
"| c66c10a9567f0d82ff31441a9f... | Undo - Björk | 4227.0 | 2 |\n",
"| c66c10a9567f0d82ff31441a9f... | You're The One - Dwight Yoakam | 3781.0 | 3 |\n",
"| c66c10a9567f0d82ff31441a9f... | Dog Days Are Over (Radio E... | 3633.0 | 4 |\n",
"| c66c10a9567f0d82ff31441a9f... | Revelry - Kings Of Leon | 3527.0 | 5 |\n",
"| c66c10a9567f0d82ff31441a9f... | Horn Concerto No. 4 in E f... | 3161.0 | 6 |\n",
"| c66c10a9567f0d82ff31441a9f... | Secrets - OneRepublic | 3148.0 | 7 |\n",
"| c66c10a9567f0d82ff31441a9f... | Fireflies - Charttraxx Karaoke | 2532.0 | 8 |\n",
"| c66c10a9567f0d82ff31441a9f... | Tive Sim - Cartola | 2521.0 | 9 |\n",
"| c66c10a9567f0d82ff31441a9f... | Drop The World - Lil Wayne... | 2053.0 | 10 |\n",
"+-------------------------------+--------------------------------+--------+------+\n",
"[10 rows x 4 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popularity_model.recommend(users=[users[0]])"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\"><table frame=\"box\" rules=\"cols\">\n",
" <tr>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">user_id</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">song</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">score</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">rank</th>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Sehr kosmisch - Harmonia</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">4754.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Undo - Björk</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">4227.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">You're The One - Dwight<br>Yoakam ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3781.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Dog Days Are Over (Radio<br>Edit) - Florence + The ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3633.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">4</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Revelry - Kings Of Leon</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3527.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">5</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Horn Concerto No. 4 in E<br>flat K495: II. Romance ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3161.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">6</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Secrets - OneRepublic</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3148.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">7</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Hey_ Soul Sister - Train</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2538.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">8</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Fireflies - Charttraxx<br>Karaoke ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2532.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">9</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">279292bb36dbfc7f505e36ebf<br>038c81eb1d1d63e ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Tive Sim - Cartola</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2521.0</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">10</td>\n",
" </tr>\n",
"</table>\n",
"[10 rows x 4 columns]<br/>\n",
"</div>"
],
"text/plain": [
"Columns:\n",
"\tuser_id\tstr\n",
"\tsong\tstr\n",
"\tscore\tfloat\n",
"\trank\tint\n",
"\n",
"Rows: 10\n",
"\n",
"Data:\n",
"+-------------------------------+--------------------------------+--------+------+\n",
"| user_id | song | score | rank |\n",
"+-------------------------------+--------------------------------+--------+------+\n",
"| 279292bb36dbfc7f505e36ebf0... | Sehr kosmisch - Harmonia | 4754.0 | 1 |\n",
"| 279292bb36dbfc7f505e36ebf0... | Undo - Björk | 4227.0 | 2 |\n",
"| 279292bb36dbfc7f505e36ebf0... | You're The One - Dwight Yoakam | 3781.0 | 3 |\n",
"| 279292bb36dbfc7f505e36ebf0... | Dog Days Are Over (Radio E... | 3633.0 | 4 |\n",
"| 279292bb36dbfc7f505e36ebf0... | Revelry - Kings Of Leon | 3527.0 | 5 |\n",
"| 279292bb36dbfc7f505e36ebf0... | Horn Concerto No. 4 in E f... | 3161.0 | 6 |\n",
"| 279292bb36dbfc7f505e36ebf0... | Secrets - OneRepublic | 3148.0 | 7 |\n",
"| 279292bb36dbfc7f505e36ebf0... | Hey_ Soul Sister - Train | 2538.0 | 8 |\n",
"| 279292bb36dbfc7f505e36ebf0... | Fireflies - Charttraxx Karaoke | 2532.0 | 9 |\n",
"| 279292bb36dbfc7f505e36ebf0... | Tive Sim - Cartola | 2521.0 | 10 |\n",
"+-------------------------------+--------------------------------+--------+------+\n",
"[10 rows x 4 columns]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"popularity_model.recommend(users=[users[1]])"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre>Recsys training: model = item_similarity</pre>"
],
"text/plain": [
"Recsys training: model = item_similarity"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Warning: Ignoring columns song_id, listen_count, title, artist;</pre>"
],
"text/plain": [
"Warning: Ignoring columns song_id, listen_count, title, artist;"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre> To use one of these as a target column, set target = <column_name></pre>"
],
"text/plain": [
" To use one of these as a target column, set target = <column_name>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre> and use a method that allows the use of a target.</pre>"
],
"text/plain": [
" and use a method that allows the use of a target."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Preparing data set.</pre>"
],
"text/plain": [
"Preparing data set."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre> Data has 893580 observations with 66085 users and 9952 items.</pre>"
],
"text/plain": [
" Data has 893580 observations with 66085 users and 9952 items."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre> Data prepared in: 1.59214s</pre>"
],
"text/plain": [
" Data prepared in: 1.59214s"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Training model from provided data.</pre>"
],
"text/plain": [
"Training model from provided data."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Gathering per-item and per-user statistics.</pre>"
],
"text/plain": [
"Gathering per-item and per-user statistics."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>+--------------------------------+------------+</pre>"
],
"text/plain": [
"+--------------------------------+------------+"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>| Elapsed Time (Item Statistics) | % Complete |</pre>"
],
"text/plain": [
"| Elapsed Time (Item Statistics) | % Complete |"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>+--------------------------------+------------+</pre>"
],
"text/plain": [
"+--------------------------------+------------+"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>| 1.829ms | 1.5 |</pre>"
],
"text/plain": [
"| 1.829ms | 1.5 |"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>| 57.912ms | 100 |</pre>"
],
"text/plain": [
"| 57.912ms | 100 |"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>+--------------------------------+------------+</pre>"
],
"text/plain": [
"+--------------------------------+------------+"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Setting up lookup tables.</pre>"
],
"text/plain": [
"Setting up lookup tables."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Processing data in one pass using dense lookup tables.</pre>"
],
"text/plain": [
"Processing data in one pass using dense lookup tables."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>+-------------------------------------+------------------+-----------------+</pre>"
],
"text/plain": [
"+-------------------------------------+------------------+-----------------+"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>| Elapsed Time (Constructing Lookups) | Total % Complete | Items Processed |</pre>"
],
"text/plain": [
"| Elapsed Time (Constructing Lookups) | Total % Complete | Items Processed |"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>+-------------------------------------+------------------+-----------------+</pre>"
],
"text/plain": [
"+-------------------------------------+------------------+-----------------+"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>| 455.194ms | 0 | 0 |</pre>"
],
"text/plain": [
"| 455.194ms | 0 | 0 |"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>| 1.69s | 100 | 9952 |</pre>"
],
"text/plain": [
"| 1.69s | 100 | 9952 |"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>+-------------------------------------+------------------+-----------------+</pre>"
],
"text/plain": [
"+-------------------------------------+------------------+-----------------+"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Finalizing lookup tables.</pre>"
],
"text/plain": [
"Finalizing lookup tables."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Generating candidate set for working with new users.</pre>"
],
"text/plain": [
"Generating candidate set for working with new users."
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>Finished training in 2.78426s</pre>"
],
"text/plain": [
"Finished training in 2.78426s"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"personalized_model = graphlab.item_similarity_recommender.create(train_data, user_id='user_id', item_id='song')"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\"><table frame=\"box\" rules=\"cols\">\n",
" <tr>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">user_id</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">song</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">score</th>\n",
" <th style=\"padding-left: 1em; padding-right: 1em; text-align: center\">rank</th>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Cuando Pase El Temblor -<br>Soda Stereo ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.0194504536115</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">1</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Fireflies - Charttraxx<br>Karaoke ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.0144737317012</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">2</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Love Is A Losing Game -<br>Amy Winehouse ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.0142865960415</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">3</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Marry Me - Train</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.014133471709</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">4</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Secrets - OneRepublic</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.013591665488</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">5</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Sehr kosmisch - Harmonia</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.0133987894425</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">6</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Te Hacen Falta Vitaminas<br>- Soda Stereo ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.0129302831796</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">7</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">OMG - Usher featuring<br>will.i.am ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.0127778282532</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">8</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">Y solo se me ocurre<br>amarte (Unplugged) - ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.0123411279458</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">9</td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">c66c10a9567f0d82ff31441a9<br>fd5063e5cd9dfe8 ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">No Dejes Que... -<br>Caifanes ...</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">0.0121042499175</td>\n",
" <td style=\"padding-left: 1em; padding-right: 1em; text-align: center; vertical-align: top\">10</td>\n",
" </tr>\n",
"</table>\n",
"[10 rows x 4 columns]<br/>\n",
"</div>"
],
"text/plain": [
"Columns:\n",
"\tuser_id\tstr\n",
"\tsong\tstr\n",
"\tscore\tfloat\n",
"\trank\tint\n",
"\n",
"Rows: 10\n",
"\n",
"Data:\n",
"+-------------------------------+--------------------------------+\n",
"| user_id | song |\n",
"+-------------------------------+--------------------------------+\n",
"| c66c10a9567f0d82ff31441a9f... | Cuando Pase El Temblor - S... |\n",
"| c66c10a9567f0d82ff31441a9f... | Fireflies - Charttraxx Karaoke |\n",
"| c66c10a9567f0d82ff31441a9f... | Love Is A Losing Game - Am... |\n",
"| c66c10a9567f0d82ff31441a9f... | Marry Me - Train |\n",
"| c66c10a9567f0d82ff31441a9f... | Secrets - OneRepublic |\n",
"| c66c10a9567f0d82ff31441a9f... | Sehr kosmisch - Harmonia |\n",
"| c66c10a9567f0d82ff31441a9f... | Te Hacen Falta Vitaminas -... |\n",
"| c66c10a9567f0d82ff31441a9f... | OMG - Usher featuring will... |\n",
"| c66c10a9567f0d82ff31441a9f... | Y solo se me ocurre amarte... |\n",
"| c66c10a9567f0d82ff31441a9f... | No Dejes Que... - Caifanes |\n",
"+-------------------------------+--------------------------------+\n",
"+-----------------+------+\n",
"| score | rank |\n",
"+-----------------+------+\n",
"| 0.0194504536115 | 1 |\n",
"| 0.0144737317012 | 2 |\n",
"| 0.0142865960415 | 3 |\n",
"| 0.014133471709 | 4 |\n",
"| 0.013591665488 | 5 |\n",
"| 0.0133987894425 | 6 |\n",
"| 0.0129302831796 | 7 |\n",
"| 0.0127778282532 | 8 |\n",
"| 0.0123411279458 | 9 |\n",
"| 0.0121042499175 | 10 |\n",
"+-----------------+------+\n",
"[10 rows x 4 columns]"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"personalized_model.recommend(users=[users[0]])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"compare_models: using 2931 users to estimate model performance\n",
"PROGRESS: Evaluate model M0\n"
]
},
{
"data": {
"text/html": [
"<pre>recommendations finished on 1000/2931 queries. users per second: 11775.7</pre>"
],
"text/plain": [
"recommendations finished on 1000/2931 queries. users per second: 11775.7"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>recommendations finished on 2000/2931 queries. users per second: 11877.5</pre>"
],
"text/plain": [
"recommendations finished on 2000/2931 queries. users per second: 11877.5"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Precision and recall summary statistics by cutoff\n",
"+--------+-----------------+------------------+\n",
"| cutoff | mean_precision | mean_recall |\n",
"+--------+-----------------+------------------+\n",
"| 1 | 0.0334356874787 | 0.00754754741449 |\n",
"| 2 | 0.0300238826339 | 0.0150852237341 |\n",
"| 3 | 0.0267258046173 | 0.0204986122335 |\n",
"| 4 | 0.0240532241556 | 0.0246511099121 |\n",
"| 5 | 0.0216990788127 | 0.027133357942 |\n",
"| 6 | 0.0204708290686 | 0.0304146600206 |\n",
"| 7 | 0.0197397280304 | 0.0338485124565 |\n",
"| 8 | 0.0189355168884 | 0.0374567460289 |\n",
"| 9 | 0.0180446567345 | 0.0405401684445 |\n",
"| 10 | 0.0171954964176 | 0.0434450765694 |\n",
"+--------+-----------------+------------------+\n",
"[10 rows x 3 columns]\n",
"\n",
"PROGRESS: Evaluate model M1\n"
]
},
{
"data": {
"text/html": [
"<pre>recommendations finished on 1000/2931 queries. users per second: 9696.31</pre>"
],
"text/plain": [
"recommendations finished on 1000/2931 queries. users per second: 9696.31"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre>recommendations finished on 2000/2931 queries. users per second: 11102.2</pre>"
],
"text/plain": [
"recommendations finished on 2000/2931 queries. users per second: 11102.2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Precision and recall summary statistics by cutoff\n",
"+--------+-----------------+----------------+\n",
"| cutoff | mean_precision | mean_recall |\n",
"+--------+-----------------+----------------+\n",
"| 1 | 0.184237461617 | 0.058660221888 |\n",
"| 2 | 0.160184237462 | 0.09747016346 |\n",
"| 3 | 0.136131013306 | 0.11995934644 |\n",
"| 4 | 0.123763220744 | 0.143813535392 |\n",
"| 5 | 0.110747185261 | 0.158290314581 |\n",
"| 6 | 0.101671784374 | 0.174389601252 |\n",
"| 7 | 0.0942632938539 | 0.187338871594 |\n",
"| 8 | 0.0875980893893 | 0.199032560975 |\n",
"| 9 | 0.0823382235869 | 0.209723397534 |\n",
"| 10 | 0.0773797338792 | 0.216461698848 |\n",
"+--------+-----------------+----------------+\n",
"[10 rows x 3 columns]\n",
"\n",
"Model compare metric: precision_recall\n"
]
}
],
"source": [
"model_performance = graphlab.compare(test_data, [popularity_model, personalized_model], user_sample=0.05)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Canvas is updated and available in a tab in the default browser.\n"
]
}
],
"source": [
"graphlab.show_comparison(model_performance, [popularity_model, personalized_model])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.15"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment