2016-04-07 3 views
-4

Я пытаюсь скопировать набор данных фильмов, который поставляется с пакетом «ggplot2» в R. Я буду использовать k-средства. Имена столбцов, что приходит с этим набором данных являются:K-означает кластеризацию с предопределенным набором данных

[1] "title"  "year"  "length"  "budget"  "rating"  
[6] "votes"  "r1"   "r2"   "r3"   "r4"   
[11] "r5"   "r6"   "r7"   "r8"   "r9"   
[16] "r10"   "mpaa"  "Action"  "Animation" "Comedy"  
[21] "Drama"  "Documentary" "Romance"  "Short" 

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

+0

Непонятно, чего вы пытаетесь достичь. – epo3

+0

Я только пытаюсь привнести некоторые идеи, чтобы иметь больше знаний о том, что такое кластеризация. Как в этом случае набор данных, что бы вы сделали, чтобы сгруппировать его и какие у вас были вопросы? – Yahyaotaif

ответ

1

Вам нужно выяснить, что делает хорошим кластера.

Есть миллионы способов сгруппировать эти данные. Поскольку вы можете обрабатывать данные по-разному, используйте разные алгоритмы, расстояния и т. Д.

Без вашего руководства алгоритм кластеризации просто что-то сделает и, скорее всего, вернет совершенно бесполезный результат!

Итак, вам нужно сначала получить четкую цель: что такое хорошая кластеризация?

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

1

Чтобы ответить на ваш первый вопрос: Да, я думаю, что это интересный проект. Работа с этим набором данных может быть отличным способом узнать о различных методах интеллектуального анализа данных.

Чтобы ответить на ваш второй вопрос, вот несколько советов. Кластеризация - это неконтролируемый метод обучения. Обучение не контролируется, когда целевая переменная (в данном случае целевая переменная может быть жанром фильма) неизвестна. Однако, глядя на столбцы, которые вы указали, кажется, что у вас есть жанр информации. Имея это в виду, у вас есть два варианта. Во-первых, вы могли бы притворяться, будто у вас нет жанровой информации. В этом случае вы должны применить k-средства к остальной части данных. После завершения кластеризации вы можете оценить, насколько хорошо алгоритм сделан, сравнивая его с известным жанром. Во-вторых, вы можете рассматривать эту проблему как проблему классификации. В этом случае вы должны использовать информацию жанра, чтобы изучить модель, которая может предсказать жанр. Возможно, вы уже знаете это, но я просто хотел это сказать.

Чтобы дать вам несколько советов по проблеме кластеризации, я сначала хотел бы знать, что представляют переменные 'r1', ..., 'r10'. Являются ли они числовыми переменными или категориальными? K-средство имеет два шага: один, где вы назначаете точки данных ближайшему к нему центроиду и тому, где вы вычисляете новый центр тяжести, беря среднее из всех точек данных в кластере. Имеет ли смысл этих переменных смысл?

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

+0

Спасибо, Майкл. Это разъясняет некоторые сомнения. Чтобы ответить на ваш вопрос: r1-10. Умножение на десять дает процентиль (до 10%) пользователей, которые оценили этот фильм 1. – Yahyaotaif