package com.datascience.core.nominal;
import com.datascience.core.base.AssignedLabel;
import java.util.Collection;
import java.util.Map;
import static com.datascience.utils.ProbabilityDistributions.generateConstantDistribution;
/**
* User: artur
* Date: 5/6/13
*/
public class ProbabilityDistributions {
public static Map<String, Double> generateMV_PD(Collection<String> categories,
Collection<AssignedLabel<String>> assigns){
Map<String, Double> pd = generateConstantDistribution(categories, 0.);
Double base = 1. / assigns.size();
for (AssignedLabel<String> assign: assigns) {
String label = assign.getLabel();
pd.put(label, pd.get(label) + base);
}
return pd;
}
static public Map<String, Double> generateOneLabelDistribution(NominalProject project, String label) {
Map<String, Double> pd = generateConstantDistribution(project.getData().getCategories(), 0.);
pd.put(label, 1.);
return pd;
}
}