当前位置: 首页>>代码示例>>C++>>正文


C++ Counter::add方法代码示例

本文整理汇总了C++中Counter::add方法的典型用法代码示例。如果您正苦于以下问题:C++ Counter::add方法的具体用法?C++ Counter::add怎么用?C++ Counter::add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Counter的用法示例。


在下文中一共展示了Counter::add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

 // A simple algorithm with majority voting
 Counter<std::string, double> fast_scores(const Example& example) {
     Counter<std::string, double> res;
     for (const auto& it: _word_counter._counter2) {
         const auto& label = it.first;
         const auto& prob_wc = it.second;
         for (const auto& word: example._words) {
             if (prob_wc.contains(word)) {
                 res.add(label, 1);
             }
         }
     }
     return res;
 }
开发者ID:demon386,项目名称:naive_bayes_cpp,代码行数:14,代码来源:naive_bayes.hpp

示例2: scores

 Counter<std::string, double> scores(const Example& example) {
     Counter<std::string, double> res;
     bool is_any_words_matched = false;
     for (const auto& cls: _class_counter._counter) {
         const auto& label = cls.first;
         double prior = static_cast<double>(cls.second);
         res.add(label, log(prior + _class_smoothing));
         double log_denom = log(_word_totals.get(label) + _vocab_size * _word_smoothing);
         double log_prob = 0.0;
         auto prob_wc = _word_counter.get(label);
         for (const auto& word: example._words) {
             if (prob_wc.contains(word)) {
                 is_any_words_matched = true;
             }
             log_prob += log(prob_wc.get_or_else(word, 0) + _word_smoothing) - log_denom;
         }
         res.add(label, log_prob);
     }
     if (is_any_words_matched) {
         return res;
     } else {
         return Counter<std::string, double>();
     }
 }
开发者ID:demon386,项目名称:naive_bayes_cpp,代码行数:24,代码来源:naive_bayes.hpp


注:本文中的Counter::add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。