public void Train(IUserItemRelation data)
        {
            _correlationLookup = ConvertToVectors(data)
                                 .CrossPairwise((vector1, vector2) => _algorithm.ComputeCorrelation(vector1, vector2))
                                 .ToCorrelationLookup();

            _bundledItems = data.Primary.Select(u => CreateBundledItem(u, data.Association))
                            .ToDictionary(b => b.Item.Name);

            IsTrained = true;
        }
 internal static CorrelationLookup ToCorrelationLookup(this IEnumerable <Correlation> correlations)
 {
     return(CorrelationLookup.Construct(correlations));
 }