SimilarityCalculator
in package
implements
CalculatorInterface
Table of Contents
Interfaces
Methods
- calculate() : array<string|int, mixed>
- Calculate recommendations based on similarity metrics
- calculateSimilarityScore() : float
- Calculate similarity score between two models
- extractFeatures() : array<string|int, mixed>
- Extract boolean feature values from model
- extractNumericValues() : array<string|int, mixed>
- Extract numeric values from model
- generateTaxonomies() : array<string|int, mixed>
- Generate taxonomies (categorical data) from model
- normalizeSourceData() : Collection
- Normalize source data to a collection of models
Methods
calculate()
Calculate recommendations based on similarity metrics
public
calculate(mixed $sourceData, array<string|int, mixed> $configuration) : array<string|int, mixed>
Parameters
- $sourceData : mixed
-
Source model(s) to calculate recommendations for
- $configuration : array<string|int, mixed>
-
Configuration parameters for calculation
Return values
array<string|int, mixed> —Array of recommendations [sourceId => [targetId => score]]
calculateSimilarityScore()
Calculate similarity score between two models
private
calculateSimilarityScore(int|string $sourceId, int|string $targetId, array<string|int, mixed> $configuration, array<string|int, mixed> $cachedTaxonomies, array<string|int, mixed> $cachedFeatures, array<string|int, mixed> $normalizedNumericValues) : float
Parameters
- $sourceId : int|string
- $targetId : int|string
- $configuration : array<string|int, mixed>
- $cachedTaxonomies : array<string|int, mixed>
- $cachedFeatures : array<string|int, mixed>
- $normalizedNumericValues : array<string|int, mixed>
Return values
float —Similarity score between 0-100
extractFeatures()
Extract boolean feature values from model
private
extractFeatures(Model $model, array<string|int, mixed> $featureFields) : array<string|int, mixed>
Parameters
- $model : Model
- $featureFields : array<string|int, mixed>
Return values
array<string|int, mixed>extractNumericValues()
Extract numeric values from model
private
extractNumericValues(Model $model, array<string|int, mixed> $numericFields) : array<string|int, mixed>
Parameters
- $model : Model
- $numericFields : array<string|int, mixed>
Return values
array<string|int, mixed>generateTaxonomies()
Generate taxonomies (categorical data) from model
private
generateTaxonomies(Model $model, array<string|int, mixed> $taxonomyFields) : array<string|int, mixed>
Parameters
- $model : Model
- $taxonomyFields : array<string|int, mixed>
Return values
array<string|int, mixed>normalizeSourceData()
Normalize source data to a collection of models
private
normalizeSourceData(mixed $sourceData) : Collection
Parameters
- $sourceData : mixed