in bigtop-data-generators/bigpetstore-data-generator/src/main/java/org/apache/bigtop/datagenerators/bigpetstore/generators/purchase/PurchasingModelSamplerBuilder.java [66:95]
public Sampler<MarkovPurchasingModel> buildMarkovPurchasingModel() throws Exception
{
Sampler<Double> fieldWeightSampler = new BoundedMultiModalGaussianSampler(Constants.PRODUCT_MSM_FIELD_WEIGHT_GAUSSIANS,
Constants.PRODUCT_MSM_FIELD_WEIGHT_LOWERBOUND,
Constants.PRODUCT_MSM_FIELD_WEIGHT_UPPERBOUND,
seedFactory);
Sampler<Double> fieldSimilarityWeightSampler = new BoundedMultiModalGaussianSampler(Constants.PRODUCT_MSM_FIELD_SIMILARITY_WEIGHT_GAUSSIANS,
Constants.PRODUCT_MSM_FIELD_SIMILARITY_WEIGHT_LOWERBOUND,
Constants.PRODUCT_MSM_FIELD_SIMILARITY_WEIGHT_UPPERBOUND,
seedFactory);
Sampler<Double> loopbackWeightSampler = new BoundedMultiModalGaussianSampler(Constants.PRODUCT_MSM_LOOPBACK_WEIGHT_GAUSSIANS,
Constants.PRODUCT_MSM_LOOPBACK_WEIGHT_LOWERBOUND,
Constants.PRODUCT_MSM_LOOPBACK_WEIGHT_UPPERBOUND,
seedFactory);
Map<String, Double> fieldWeights = generateFieldWeights(fieldWeightSampler);
Map<ProductCategory, Sampler<MarkovModel<Product>>> categorySamplers = Maps.newHashMap();
for(ProductCategory productCategory : productCategories)
{
MarkovModelProductCategorySampler sampler = new MarkovModelProductCategorySampler(productCategory,
fieldWeights, fieldSimilarityWeightSampler, loopbackWeightSampler);
categorySamplers.put(productCategory, sampler);
}
return new MarkovPurchasingModelSampler(categorySamplers);
}