2014-11-20 8 views
0

Я пытаюсь построить механизм сравнения соответствия подобия с элементами mahout. Набор данных, как в следующем формате (атрибуты в тексте не в формате цифры)Создание модели данных для mahout

name : category : cost : ingredients 

x : xx1 : 15 : xxx1, xxx2, xxx3 

y : yy1 : 14 : yyy1, yyy2, yyy3 

z : xx1 : 12 : xxx1, xxy1 

Так-для того, чтобы использовать этот набор данных для погонщик в поезд, что это правильный способ преобразовать это, чтобы (как CSV Boolean data set), принятый mahout.

ответ

0

Используя Mahout v1, кодировка может быть в файле с разделителями текста/CSV.

name<tab>category-ID<space>cost-range-ID<space>ingredient-ID1<space>ingredient-ID2<space>etc... 

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

Run mahout spark-rowsimilarity на этих данных, и вы получите обратно файлы вида:

name<tab>name1:strength<space>name2:strength<space>etc... 

Это список подобных элементов для каждого элемента. Список сортируется, и сила - это коэффициент LLR (логарифмический коэффициент правдоподобия) для того, насколько похожи элементы.

Документы здесь: http://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html

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