GraphAware\Reco4PHP\Algorithms\Model\KNNModelBuilder::computeSimilarity PHP Méthode

computeSimilarity() public méthode

public computeSimilarity ( ObjectSet $tfSource, ObjectSet $tfDestination )
$tfSource GraphAware\Reco4PHP\Common\ObjectSet
$tfDestination GraphAware\Reco4PHP\Common\ObjectSet
    public function computeSimilarity(ObjectSet $tfSource, ObjectSet $tfDestination)
    {
        $vectors = $this->createVectors($tfSource, $tfDestination);
        return $this->similarityFunction->getSimilarity($vectors[0], $vectors[1]);
    }

Usage Example

 public function testComputeSimilarity2()
 {
     $instance = new KNNModelBuilder(null, new CosineSimilarity());
     $source = new ObjectSet(Rating::class);
     $destination = new ObjectSet(Rating::class);
     $node1 = new FakeNode(1);
     $node2 = new FakeNode(2);
     $node3 = new FakeNode(3);
     $node4 = new FakeNode(4);
     $node5 = new FakeNode(5);
     $source->add(new Rating(1, $node1->identity()));
     $source->add(new Rating(3, $node4->identity()));
     $destination->add(new Rating(1, $node2->identity()));
     $destination->add(new Rating(2, $node4->identity()));
     $destination->add(new Rating(5, $node5->identity()));
     $similarity = $instance->computeSimilarity($source, $destination);
     $this->assertTrue($similarity >= 0.34641016 && $similarity <= 0.346410161514);
 }
All Usage Examples Of GraphAware\Reco4PHP\Algorithms\Model\KNNModelBuilder::computeSimilarity