Weka ARFF Как обрабатывать функции/атрибуты, которые могут иметь более 1 значения на элемент данных

Для механизма рекомендаций я пытаюсь преобразовать данные своего фильма в формат arff, и хотя формат arff мне ясен, я не уверен, как лучше всего решить следующую проблему.

Мой набор данных будет иметь следующий (или аналогичный) формат, где рейтинг — это прогнозируемая классификационная переменная:

Для каждого пользователя список: MovieID-Название фильма-год выпуска-Жанр(ы)-Актер(ы)-Режиссер-Сценарист(ы)-Время выполнения-Рейтинг

Моя проблема заключается в том, что функции «Жанр», «Актер», «Сценаристы» могут иметь одну или несколько записей, а weka arff допускает только одно значение для каждого атрибута. Решение для этого я, хотя и есть:

  • Иметь такие атрибуты, как жанр0, жанр1, жанр2. И оставьте пустым, если у фильма, например, только 1 жанр. Проблема, которую я вижу в этом, заключается в том, что это отлично сработает для жанра, но означает ли это, что, например, для актеров мне придется включать всех актеров в объявление атрибута?

    @ATTRIBUTE act1 {все актеры} @ATTRIBUTE act2 {все актеры} @ATTRIBUTE acter3 {все актеры}

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

Есть ли лучший, более эффективный способ сделать это?


person Teugata    schedule 12.05.2015    source источник


Ответы (1)


Я не знаю, как это обойти, но некоторая предварительная обработка может помочь уменьшить ожидаемый размер объявлений атрибутов. Например:

{'круиз': 1, 'кузнец': 2}

person knopch1425    schedule 12.05.2015