2014-01-24 3 views
0

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

Например:

item1

attribute1 Значения (70) attribute2 Значения (90) Attribute3 значения (нуль)

item2

attribute1 Значения (50; 60; 70) Атрибут2 Значения (90) Атрибут3 Значения (10)

Здесь просто усредненные значения будут ранжировать Item1 выше Item2, но на практике они/могут/быть идентичными, потому что Item2 просто имеет больше данных. Может ли кто-нибудь предложить метод для сравнения и ранжирования данных, подобных этому?

+0

Вы уже рассмотрели [Radix Sort] (http://en.wikipedia.org/wiki/Radix_sort)? –

+0

Насколько нам известно, Item2 выше Item1, потому что он имеет значение 1000, о котором вы не знаете. Похоже, что любая схема ранжирования может потерпеть неудачу, с такой неопределенностью. – Kevin

+0

Вам нужно что-то делать с отсутствующими атрибутами. Это обычная проблема в компьютерном обучении. См. Этот пост StackOverflow для идей: http://stackoverflow.com/questions/13425722/how-to-deal-with-missing-attribute-values-in-c4-5-j48-decision-tree – AndyG

ответ

0

Вы можете сделать что-то вроде: sum/(count + 1).

Если атрибут имеет нулевое значение, сумма 0 и количество равно 0. Таким образом, значение равно 0/(0 + 1) = 0.

Для (70), вы получаете 70/2 = 35.

Для (50, 60, 70) вы получаете 180/4 = 45.

Более предварительный подход может заключаться в (сумма + основание)/(счет + 1). Однако вам нужно выбрать подходящую базу.

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