List of usage examples for com.google.common.collect Multiset count
int count(@Nullable Object element);
From source file:edu.cmu.lti.oaqa.baseqa.providers.ml.classifiers.WekaProvider.java
@Override public void train(List<Map<String, Double>> X, List<String> Y, boolean crossValidation) throws AnalysisEngineProcessException { // create attribute (including label) info ArrayList<Attribute> attributes = new ArrayList<>(); ClassifierProvider.featureNames(X).stream().map(Attribute::new).forEachOrdered(attributes::add); Attribute label = new Attribute("__label__", ClassifierProvider.labelNames(Y)); attributes.add(label);/* w ww .j a v a2 s . co m*/ String name = Files.getNameWithoutExtension(modelFile.getName()); datasetSchema = new Instances(name, attributes, X.size()); datasetSchema.setClass(label); // add instances Instances trainingInstances = new Instances(datasetSchema, X.size()); if (balanceWeight) { Multiset<String> labelCounts = HashMultiset.create(Y); double maxCount = labelCounts.entrySet().stream().mapToInt(Multiset.Entry::getCount).max() .orElseThrow(AnalysisEngineProcessException::new); for (int i = 0; i < X.size(); i++) { String y = Y.get(i); double weight = maxCount / labelCounts.count(y); trainingInstances.add(newInstance(X.get(i), y, weight, trainingInstances)); } } else { for (int i = 0; i < X.size(); i++) { trainingInstances.add(newInstance(X.get(i), Y.get(i), 1.0, trainingInstances)); } } // training try { classifier = AbstractClassifier.forName(classifierName, options); classifier.buildClassifier(trainingInstances); } catch (Exception e) { throw new AnalysisEngineProcessException(e); } // write model and dataset schema try { SerializationHelper.write(modelFile.getAbsolutePath(), classifier); SerializationHelper.write(datasetSchemaFile.getAbsolutePath(), datasetSchema); } catch (Exception e) { throw new AnalysisEngineProcessException(e); } // backup training dataset as arff file if (datasetExportFile != null) { try { ArffSaver saver = new ArffSaver(); saver.setInstances(trainingInstances); saver.setFile(datasetExportFile); saver.writeBatch(); } catch (IOException e) { throw new AnalysisEngineProcessException(e); } } if (crossValidation) { try { Evaluation eval = new Evaluation(trainingInstances); Random rand = new Random(); eval.crossValidateModel(classifier, trainingInstances, 10, rand); LOG.debug(eval.toSummaryString()); } catch (Exception e) { throw new AnalysisEngineProcessException(e); } } }
From source file:com.memonews.mahout.sentiment.SentimentModelHelper.java
Vector encodeFeatureVector(final File file, final Multiset<String> overallCounts) throws IOException { final Multiset<String> words = ConcurrentHashMultiset.create(); final BufferedReader reader = Files.newReader(file, Charsets.UTF_8); try {//from w w w. j a va 2s . co m countWords(analyzer, words, reader, overallCounts); } finally { Closeables.closeQuietly(reader); } final Vector v = new RandomAccessSparseVector(FEATURES); bias.addToVector("", 1, v); for (final String word : words.elementSet()) { encoder.addToVector(word, Math.log1p(words.count(word)), v); } return v; }
From source file:org.sonar.plugins.core.issue.IssueCountersDecorator.java
private void saveIssuesForSeverity(DecoratorContext context, RulePriority ruleSeverity, Multiset<RulePriority> severitiesBag) { Metric metric = SeverityUtils.severityToIssueMetric(ruleSeverity); if (context.getMeasure(metric) == null) { Collection<Measure> children = context.getChildrenMeasures(MeasuresFilters.metric(metric)); int sum = MeasureUtils.sum(true, children).intValue() + severitiesBag.count(ruleSeverity); context.saveMeasure(metric, (double) sum); }//from ww w. j ava 2 s . c om }
From source file:org.dllearner.utilities.examples.AutomaticNegativeExampleFinderSPARQL2.java
private SortedSet<OWLIndividual> negativeExamplesBySiblingClasses(Multiset<OWLClass> positiveExamplesTypes, int cnt, int totalCnt) { logger.info("Applying sibling classes strategy..."); SortedSet<OWLIndividual> negExamples = new TreeSet<>(); // for each type of the positive examples for (OWLClass nc : positiveExamplesTypes.elementSet()) { int frequency = positiveExamplesTypes.count(nc); // get sibling classes Set<OWLClass> siblingClasses = sr.getSiblingClasses(nc); siblingClasses = filterByNamespace(siblingClasses); logger.info("Sibling classes: " + siblingClasses); int limit = (int) Math .ceil(((double) frequency / positiveExamplesTypes.size()) / siblingClasses.size() * cnt); // get instances for each sibling class for (OWLClass siblingClass : siblingClasses) { SortedSet<OWLIndividual> individuals = sr.getIndividualsExcluding(siblingClass, nc, totalCnt); individuals.removeAll(negExamples); SetManipulation.stableShrink(individuals, limit); negExamples.addAll(individuals); }// www . j ava2 s . c o m } negExamples = SetManipulation.stableShrink(negExamples, cnt); logger.info("Negative examples(" + negExamples.size() + "): " + negExamples); return negExamples; }
From source file:org.dllearner.algorithms.pattern.OWLAxiomPatternFinder.java
private synchronized void addOntologyPatterns(URI physicalURI, OWLOntology ontology, Multiset<OWLAxiom> patterns) { int ontologyId = addOntology(physicalURI, ontology); for (OWLAxiom pattern : patterns.elementSet()) { try {/*from w w w . j a v a 2 s . c o m*/ int patternId = addPattern(pattern); int occurrences = patterns.count(pattern); insertOntologyPatternPs.setInt(1, ontologyId); insertOntologyPatternPs.setInt(2, patternId); insertOntologyPatternPs.setInt(3, occurrences); insertOntologyPatternPs.execute(); } catch (SQLException e) { System.err.println("Adding pattern\n" + pattern + "\nfailed." + e.getMessage()); } } }
From source file:sklearn.cluster.KMeans.java
@Override public ClusteringModel encodeModel(Schema schema) { int[] shape = getClusterCentersShape(); int numberOfClusters = shape[0]; int numberOfFeatures = shape[1]; List<? extends Number> clusterCenters = getClusterCenters(); List<Integer> labels = getLabels(); Multiset<Integer> labelCounts = HashMultiset.create(); if (labels != null) { labelCounts.addAll(labels);//from w ww .java2 s . com } List<Cluster> clusters = new ArrayList<>(); for (int i = 0; i < numberOfClusters; i++) { Array array = PMMLUtil .createRealArray(MatrixUtil.getRow(clusterCenters, numberOfClusters, numberOfFeatures, i)); Cluster cluster = new Cluster().setId(String.valueOf(i)) .setSize((labelCounts.size() > 0 ? labelCounts.count(i) : null)).setArray(array); clusters.add(cluster); } List<Feature> features = schema.getFeatures(); List<ClusteringField> clusteringFields = ClusteringModelUtil.createClusteringFields(features); ComparisonMeasure comparisonMeasure = new ComparisonMeasure(ComparisonMeasure.Kind.DISTANCE) .setCompareFunction(CompareFunction.ABS_DIFF).setMeasure(new SquaredEuclidean()); Output output = ClusteringModelUtil.createOutput(FieldName.create("Cluster"), clusters); ClusteringModel clusteringModel = new ClusteringModel(MiningFunction.CLUSTERING, ClusteringModel.ModelClass.CENTER_BASED, numberOfClusters, ModelUtil.createMiningSchema(schema), comparisonMeasure, clusteringFields, clusters).setOutput(output); return clusteringModel; }
From source file:bots.mctsbot.ai.bots.bot.gametree.rollout.BucketRollOut.java
private double[] calcDeadCardWeights(Multiset<Integer> ranks, Multiset<Integer> deadRanks) { Iterator<Integer> iter = ranks.iterator(); double[] deadCardWeights = new double[nbBuckets]; for (int bucket = 0; bucket < nbBuckets; bucket++) { double nbDead = 0; for (int j = 0; j < nbSamplesPerBucket; j++) { int rank = iter.next(); double count = ranks.count(rank); double deadCount = deadRanks.count(rank); nbDead += deadCount / count; }//from w w w . j a va2 s . co m deadCardWeights[bucket] = ((nbSamplesPerBucket - nbDead) / nbSamplesPerBucket); } return deadCardWeights; }
From source file:org.dllearner.utilities.examples.AutomaticNegativeExampleFinderSPARQL2.java
private SortedSet<OWLIndividual> negativeExamplesBySuperClasses(Multiset<OWLClass> positiveExamplesTypes, Set<OWLIndividual> negativeExamples, int cnt, int totalCnt) { logger.info("Applying super class strategy..."); SortedSet<OWLIndividual> negExamples = new TreeSet<>(); //for each type of the positive examples for (OWLClass nc : positiveExamplesTypes.elementSet()) { int frequency = positiveExamplesTypes.count(nc); //get super classes Set<OWLClassExpression> superClasses = sr.getSuperClasses(nc); superClasses.remove(df.getOWLThing()); // superClasses.remove(Thing.instance); superClasses.remove(df.getOWLClass(OWLRDFVocabulary.RDFS_RESOURCE.getIRI())); superClasses = filterByNamespace(superClasses); logger.info("Super classes: " + superClasses); int limit = (int) Math .ceil(((double) frequency / positiveExamplesTypes.size()) / superClasses.size() * cnt); //get instances for each super class for (OWLClassExpression superClass : superClasses) { SortedSet<OWLIndividual> individuals = sr.getIndividualsExcluding(superClass, nc, totalCnt); individuals.removeAll(negativeExamples); individuals.removeAll(negExamples); SetManipulation.stableShrink(individuals, limit); negExamples.addAll(individuals); }/*from ww w. j a v a2 s. c om*/ } negExamples = SetManipulation.stableShrink(negExamples, cnt); logger.info("Negative examples(" + negExamples.size() + "): " + negExamples); return negExamples; }
From source file:org.sonar.plugins.core.sensors.ViolationsDecorator.java
private void computeViolationsPerSeverities(DecoratorContext context) { Multiset<RulePriority> severitiesBag = HashMultiset.create(); for (Violation violation : context.getViolations()) { severitiesBag.add(violation.getSeverity()); }// ww w . j ava 2 s . c om for (RulePriority severity : RulePriority.values()) { Metric metric = SeverityUtils.severityToViolationMetric(severity); if (context.getMeasure(metric) == null) { Collection<Measure> children = context.getChildrenMeasures(MeasuresFilters.metric(metric)); int sum = MeasureUtils.sum(true, children).intValue() + severitiesBag.count(severity); context.saveMeasure(metric, (double) sum); } } }
From source file:org.softinica.maven.jmeter.report.analyser.ThroughputAnalyzer.java
@Override protected JFreeChart createChart(PageDefinition definition, Input input) { Map<String, Multiset<Long>> allSeries = new HashMap<String, Multiset<Long>>(); for (Sample sample : input.getSamples()) { Multiset<Long> rps = allSeries.get(sample.getLabel()); if (rps == null) { rps = TreeMultiset.create(); allSeries.put(sample.getLabel(), rps); }/*from w w w .ja v a 2 s .c om*/ rps.add(((sample.getTimestamp() + (long) sample.getValue()) / 1000) * 1000); } TimeSeriesCollection dataset = new TimeSeriesCollection(); for (String label : allSeries.keySet()) { Multiset<Long> rps = allSeries.get(label); TimeSeries series = new TimeSeries(label); for (Long key : rps) { series.addOrUpdate(new Second(new Date(key)), rps.count(key)); } dataset.addSeries(series); } return ChartFactory.createTimeSeriesChart(definition.getTitle(), "Time", "Requests/second", dataset); }