Created
July 5, 2018 23:13
-
-
Save waitingfy/82be270453f8ac63bc9ee4f1a9a94a76 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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