Nearest Neighbors - Query

venkatesh20
venkatesh20 New Altair Community Member
edited November 5 in Community Q&A
I want to design a RM flow, where applying KNN model should return the k nearest neighbors instead of predicting the class of the unlabeled data based on k nearest neighbors.

i.e if  I provide one row of input data, the result I need is the k records which are neighbors to it, nothing more.

Here i am attempting to design a recommendation system using rapid miner flow. I am not sure if its possible to design such a flow. I would be grateful if anybody can help.

Thanks,
Venki
Tagged:

Answers

  • land
    land New Altair Community Member
    Hi,
    RapidMiner 5 has an operator called Cross Distances, which exactly does what you are longing for. You must give it two example sets, one containing the request examples and one containing the reference examples. It will return the top k nearest or farthest examples on any distance measure available.

    If you build your recommendation system, please keep in mind that it has to be licensed under the AGPL3 unless you have bought an OEM license of RapidMiner.

    Greetings,
      Sebastian
  • venkatesh20
    venkatesh20 New Altair Community Member
    Dear Sebastian,
    Thanks for the info. This is not for commercial use. I am doing my M.S disertation, I have chosen to research various techniques for recommendation systems. I will surely get an OEM license if i can successfully make a sellable product out of it  ;). Thanks again

    Venki
  • venkatesh20
    venkatesh20 New Altair Community Member
    Dear sebastian,
      The output example set of cross distances has 3 attributes request, document and distance.  The attributes  request, document are the id of the records in the datasets. Is there any operator which can use to retrieve the data corresponding to document ids?
  • land
    land New Altair Community Member
    Hi,
    you might join the resulting set with the original reference set using the Join operator. Before this you have to define the correct attribute to be the id using the set role operator.

    Greetings,
      Sebastian
  • venkatesh20
    venkatesh20 New Altair Community Member
    Works Like a charm !! Thanks sebastian..