Сбор информации о предпочтениях

Первое, что нам нужно, – это способ представления людей и их предпочтений. В языке Python это делается очень просто с помощью вложенного словаря. Если вы собираетесь проработать пример из этого раздела, создайте файл recommendations.py и введите следующий код для создания набора данных:

#  Словарь кинокритиков и выставленных ими оценок для небольшого набора

#  данных о фильмах

critics={‘Lisa Rose’: {‘Lady in the Water’: 2.5, ‘Snakes on a Plane’: 3.5, ‘Just My Luck’: 3.0, ‘Superman Returns’: 3.5, ‘You, Me and Dupree’: 2.5, ‘The Night Listener’: 3.0},

‘Gene Seymour’: {‘Lady in the Water’: 3.0, ‘Snakes on a Plane’: 3.5, ‘Just My Luck’: 1.5, ‘Superman Returns’: 5.0, ‘The Night Listener’: 3.0, ‘You, Me and Dupree’: 3.5},

‘Michael Phillips’: {‘Lady in the Water’: 2.5, ‘Snakes on a Plane’: 3.0,

‘Superman Returns’: 3.5, ‘The Night Listener’: 4.0}, ‘Claudia Puig’: {‘Snakes on a Plane’: 3.5, ‘Just My Luck’: 3.0, ‘The Night Listener’: 4.5, ‘Superman Returns’: 4.0, ‘You, Me and Dupree’: 2.5},

‘Mick LaSalle’: {‘Lady in the Water’: 3.0, ‘Snakes on a Plane’: 4.0, ‘Just My Luck’: 2.0, ‘Superman Returns’: 3.0, ‘The Night Listener’: 3.0, ‘You, Me and Dupree’: 2.0},

‘Jack Matthews’: {‘Lady in the Water’: 3.0, ‘Snakes on a Plane’: 4.0, ‘The Night Listener’: 3.0, ‘Superman Returns’: 5.0, ‘You, Me and Dupree’: 3.5}, ‘Toby’: {‘Snakes on a Plane’:4.5,’You, Me and Dupree’:1.0,’Superman Returns’:4.0}}

Это может быть папка python/Lib, но лучше всего запускать интерпретатор, находясь в той папке, где вы сохранили файл.

В этом словаре критик (и я) выставляет фильму оценку от 1 до 5. Как бы ни было выражено предпочтение, необходимо отобразить его в виде числового значения. Если бы вы создавали сайт для онлайновой торговли, то могли бы использовать 1 как признак того, что посетитель делал покупки в прошлом, и 0 – что не делал. На сайте, где люди голосуют за новостные статьи, значения -1, 0, 1 могли бы означать «не понравилось», «не голосовал», «понравилось» (табл. 2.1).

Таблица 2.1. Возможные отображения действий пользователей на числовые оценки

Билеты на концерт

 

Онлайновые покупки

 

Рекомендация сайтов

 

Купил

1

Купил

2

Понравился

1

Не купил

0

Смотрел

1

Не голосовал

0

 

 

Не купил

0

Не понравился

-1

Словарь удобен для экспериментов с алгоритмами и для иллюстрации. В нем легко производить поиск и изменения. Запустите интерпретатор Python и введите несколько команд:

c:\code\collective\chapter2> python

Python 2.4.1 (#65, Mar 30 2005, 09:13:57) [MSC v.1310 32 bit (Intel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>> from recommendations import critics >> critics[‘Lisa Rose’][‘Lady in the Water’]

2.5

>> critics[‘Toby’][‘Snakes on a Plane’]=4.5 >> critics[‘Toby’]

{‘Snakes on a Plane’:4.5,’You, Me and Dupree’:1.0}

Хотя в словаре, находящемся в памяти, можно сохранить много предпочтений, большие наборы данных, наверное, лучше хранить в базе.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100