2016-07-28 3 views
0

Мне нужно обработать много файлов csv, которые содержат 3 столбца: дата, идентификатор канала ТВ, идентификатор фильма.Анализ абстрактных данных

Основываясь на этих столбцах, мне нужно классифицировать, что является жанром каждого фильма и жанром идентификатора канала ТВ.

Я новичок в большом процессе обработки данных, и мне было интересно, как я могу классифицировать эти данные, если у меня есть только идентификатор (я не могу использовать другой источник для поиска идентификатора или генерации случайных данных для обучения моего алгоритма).

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

  • фильмы, которые воспроизводятся между 01: 00-04: 00, жанр 1;
  • фильмы, которые воспроизводятся между 04: 01-06: 00, жанр 2;
  • т.д.

После КЛАССИФИЦИРУЙТЕ фильмов, я могу классифицировать телевизионные каналы на основе фильмов, которые они играли.

И я планирую сделать это с помощью искры :)

Кто-нибудь есть другое решение или какие-либо рекомендации? Это очень сложно, потому что эти данные выглядят как абстрактные.

Спасибо

+0

Можете ли вы предоставить код, который вы пробовали? В его нынешнем виде существует так много подходов, что вопрос слишком широк для ответа. – wheaties

+1

Из вашего объяснения, похоже, вы все еще выясняете бизнес-логику !!! Как только вы выясните бизнес-логику, как искра может быть использована, можно продумать. – rakesh

ответ

1

Когда вы говорите, «мне нужно классифицировать жанр фильма», вы имеете в виду «Drama», «Комедия», «Действие», или «Genre1», «Genre2»? Я бы предположил, что второй случай в следующем.

Не назначайте жанр вручную - использовать алгоритм кластеризации

Первый, я не присвоит жанр, основанный только на то время, когда воспроизводится фильм. Вообще говоря, я бы помешал вам сделать кластеризацию вручную. Поскольку это алгоритмы кластеризации. Они используют функции для группировки людей, которые, в некотором роде, связаны друг с другом.

В вашем случае есть сложная часть: каждая точка данных/строка не является фильмом. Таким образом, фильм может присутствовать в разных кластерах, имея в виду разные жанры.

Есть несколько вариантов: belons

  • Либо фильм в различных жанрах - что вполне естественно.
  • Вы можете выбрать только один жанр, основанный на группе, где чаще всего появляется фильм.
  • Если вы решили присвоить несколько жанров для каждого фильма, вы можете подумать о пороговых значениях: например, если фильм появляется меньше, чем N раз в группе, то она не принадлежит к этой группе (если это не единственные группы он появляется)

Создать новые возможности

Вы должны конструировать как много новых функций * как вы может, помогая кластеризации gorithm для разделения данных и создания однородных кластеров.

Как я могу думать, что вы можете сделать:

  • Добавить булеву функцию для каждого временного кадра вы считаете (0:00 - 3:59; 4:00 - 6:00; .. .). Только одна из этих функций - одна: когда фильм воспроизводится. Остальные равны нулю.

  • Функция подсчет, сколько раз фильм был сыгран (Людей в черном более играл, чем 12 разгневанных мужчины))

  • Функция couting, сколько идентификатора канала играла этот фильм (Star Wars играет на канале больше, чем некоторые Болливуда фильма)

  • ...

Придумайте как жанр представлен/воспроизводится по всем каналам и соответственно создает игрушек.

PS: * Не поймите меня неправильно, столько же функций означает больше, чем ваши три функции, но то, что называется проклятием размерности.

+0

Вы даете хороший совет, но этот вопрос не подходит для StackOverflow, он лучше подходит для [CrossValidated] (http://stats.stackexchange.com/). –

+0

@IgorQA Спасибо за удивительные советы. Я могу только «Genre1», «Genre2» и т. Д., Потому что у меня есть только «случайные» номера в моем CSV-файле. Теперь у меня есть (глупый) вопрос, когда вы говорите, чтобы создавать новые функции, вы хотите создать его на моем алгоритме кластеризации? Это мой первый опыт, я работал в кругах перед вашими советами. – placplacboom

+1

Из ваших первых трех переменных создайте новые функции $ N $, такие как тот, о котором я упоминал. Затем выполните алгоритм кластеризации на ваших общих функциях 3 + N –

Смежные вопросы