2016-08-31 6 views
0

Я новичок в студиях Rapid Miner и его операторах, работая с Rapid Miner i застрял со странным сомнением и вопрос освещен вопрос -Из операционного отдела оператора Cross Distance оператора Rapid Miner, как найти «номер набора номера номера» из «Справочного набора»

  1. у меня есть набор данных из 100 строк, и я ввод этого набора для оператора «Filter Примера Range»
  2. выхода оператора «Фильтр Примера Range» будет «Пример набора» и «Исходный комплект»
  3. Выход «Пример фильтра фильтра» задается как вход для оператора «Пересечения». Один из них - «Request set» с первым примером: 5 и последним примером: 5 (это «Примерный набор» из «Диапазон выбора фильтра», а номер 5 указывает номер строки из фактического). Другой вход - «Reference Set» - 100 строк данных (это «Исходный набор» оператора «Пример фильтра»)
  4. Из оператора «Пересечения» мы получаем три выхода. Один из них - «набор результатов», «набор запросов» и «набор ссылок» (эти оба являются входящими в комплект поставки)

Теперь, после получения результата с помощью оператора «Пересечения», я хочу знать, что такое строка номер «Набор запросов» из прилагаемого «набора ссылок».

Есть ли возможность сделать сравнение этих двух наборов в операторе Execute R? или я прошу кого-нибудь помочь мне с любой альтернативой.

+0

Удалите тег R, если вы не можете оправдать его присутствие. –

ответ

1

Оператор Cross Distances нуждается в атрибуте id и добавит его, если этого нет в наборах примеров ввода. Атрибут id является специальным атрибутом и не используется для расчета расстояний; для этого используются только обычные атрибуты. Если набор входных данных содержит атрибут, называемый id, который является регулярным, оператор меняет его таким образом, чтобы исключить его из расчета расстояния.

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

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

request document distance 
id_5 id_5  0.0 
id_5 id_1  0.141 

это означает, что id_5 в запросе и id_5 в документе, являются 0 расстоянии друг от друга, id_5 в запросе и id_1 в документе, являются 0.141 друг от друга.

Для id_1 и id_5 в наборе данных диафрагмы данные следующие.

id a1 a2 a3 a4 
id_1 5.1 3.5 1.4 0.2 
id_5 5.0 3.6 1.4 0.2 

Расстояние

sqrt((5.1-5.0)^2 + (3.5-3.6)^2 + (1.4-1.4)^2 + (0.2-0.2)^2)

который sqrt(0.01 + 0.01 + 0 + 0)

и это становится 0.141.

+0

Это пример из информации оператора «Cross Distance» от студии RM? Просто знать .. –

1

Да, вы можете сделать это в R с помощью Выполнение R Оператор. Для этого вам нужна функция compare() от compare.Чтобы сравнить два набора данных с этой функцией, вам нужно проверить, если два столбца из обоих наборов данных имеют один и тот же тип. Выполняя эту функцию, вы можете указать разные аргументы, например, если вы предположили, что второй набор данных является просто частью первого, а затем установите «shorten = TRUE». К полезным аргументам относятся, например, ignoreOrder, ignoreCase и ignoreColOrder.

Что вы можете попробовать в RapidMiner просто присоединиться или формирования атрибутов - для второго способа вы можете извлечь макросы установить «маленький» пример и проверить, если строка «большего» множество шляпой эти макросы.

Пересечение Оператор - ИМХО, чтобы замедлить и не слишком много данных во время преобразования прокрутки. Поэтому он может быть полезен только при определенных задачах.