OpenCV Machine Learning 之正态贝叶斯分类器源代码分析(Normal Bayes Classifier)

1.  CvNormalBayesClassifier的 类 定 义

在ml.hpp中有以下类定义:

[cpp] view
plain
copyprint?

  1. class CV_EXPORTS_W CvNormalBayesClassifier : public CvStatModel
  2. {
  3. public:
  4. CV_WRAP CvNormalBayesClassifier();
  5. virtual ~CvNormalBayesClassifier();
  6. CvNormalBayesClassifier( const CvMat* trainData, const CvMat* responses,
  7. const CvMat* varIdx=0, const CvMat* sampleIdx=0 );
  8. virtual bool train( const CvMat* trainData, const CvMat* responses,
  9. const CvMat* varIdx = 0, const CvMat* sampleIdx=0, bool update=false );
  10. virtual float predict( const CvMat* samples, CV_OUT CvMat* results=0 ) const;
  11. CV_WRAP virtual void clear();
  12. CV_WRAP CvNormalBayesClassifier( const cv::Mat& trainData, const cv::Mat& responses,
  13. const cv::Mat& varIdx=cv::Mat(), const cv::Mat& sampleIdx=cv::Mat() );
  14. CV_WRAP virtual bool train( const cv::Mat& trainData, const cv::Mat& responses,
  15. const cv::Mat& varIdx = cv::Mat(), const cv::Mat& sampleIdx=cv::Mat(),
  16. bool update=false );
  17. CV_WRAP virtual float predict( const cv::Mat& samples, CV_OUT cv::Mat* results=0 ) const;
  18. virtual void write( CvFileStorage* storage, const char* name ) const;
  19. virtual void read( CvFileStorage* storage, CvFileNode* node );
  20. protected:
  21. int     var_count, var_all;
  22. CvMat*  var_idx;
  23. CvMat*  cls_labels;
  24. CvMat** count;
  25. CvMat** sum;
  26. CvMat** productsum;
  27. CvMat** avg;
  28. CvMat** inv_eigen_values;
  29. CvMat** cov_rotate_mats;
  30. CvMat*  c;
  31. };

2.类的实现文件

OpenCV Machine Learning 之正态贝叶斯分类器源代码分析(Normal Bayes Classifier),布布扣,bubuko.com

时间: 2024-08-05 15:21:04

OpenCV Machine Learning 之正态贝叶斯分类器源代码分析(Normal Bayes Classifier)的相关文章

OpenCV Machine Learning 之 正态贝叶斯分类器 (Normal Bayes Classifier)

OpenCV Machine Learning 之 正态贝叶斯分类器 (Normal Bayes Classifier)

朴素贝叶斯分类器的应用 Naive Bayes classifier

一.病人分类的例子 让我从一个例子开始讲起,你会看到贝叶斯分类器很好懂,一点都不难. 某个医院早上收了六个门诊病人,如下表. 症状 职业 疾病 打喷嚏 护士 感冒  打喷嚏 农夫 过敏  头痛 建筑工人 脑震荡  头痛 建筑工人 感冒  打喷嚏 教师 感冒  头痛 教师 脑震荡 现在又来了第七个病人,是一个打喷嚏的建筑工人.请问他患上感冒的概率有多大? 根据贝叶斯定理: P(A|B) = P(B|A) P(A) / P(B) 可得 P(感冒|打喷嚏x建筑工人)  = P(打喷嚏x建筑工人|感冒)

在opencv3中实现机器学习之:利用正态贝叶斯分类

opencv3.0版本中,实现正态贝叶斯分类器(Normal Bayes Classifier)分类实例 #include "stdafx.h" #include "opencv2/opencv.hpp" using namespace cv; using namespace cv::ml; int main(int, char**) { int width = 512, height = 512; Mat image = Mat::zeros(height, wi

OpenCV Machine Learning 之 K最近邻分类器 K-Nearest Neighbors

K-Nearest Neighbors 该算法存储所有的训练样本(已知标签),然后通过分析新给的样本(标签未知)与已知标签的训练样本的相似度,选出其中的K个最相似的训练样本进行投票得到新样本的标签,并计算加权和等. 该方法有时被称为是"learning by example",因为他总是根据新样本的特征向量与已知标签的样本特征向量的相似度来判断新样本的类别. CvKNearest class CvKNearest : public CvStatModel 该类实现了 K-Nearest

OpenCV Machine Learning 之 K最近邻分类器的应用 K-Nearest Neighbors

OpenCV Machine Learning 之 K最近邻分类器的应用 下面的程序实现了对高斯分布的点集合进行分类的K最近令分类器 程序运行结果: OpenCV Machine Learning 之 K最近邻分类器的应用 K-Nearest Neighbors,布布扣,bubuko.com

OpenCV Machine Learning Library 机器学习库总体结构探微

原创博客,转载请:http://blog.csdn.net/zhjm07054115/article/details/27577181 OpenCV Machine Learning Library 机器学习库总体结构探微

Maxwell顺态求解器电磁力分析

文源:技术邻 问题描述:求解一段通有正弦交流电的直导线在某一稳态磁场中的受力情况,并简单验证仿真结果. 模型介绍: 如上几何模型中10mm边长立方体代表永磁体,材料属性为材料库中的NdFe35,修改磁化方向为X方向,其他属性不变,如下图所示.其中黄色圆柱体代表铜导线,红色框线代表求解区域(真空).导线端面与求解域重合,电流不会泄漏以便顺利计算. Maxwell求解树如下: Solution type: Transient瞬态求解器 Boundaries:未指定,系统选取默认求解边界. Excit

零基础读懂视频播放器控制原理: ffplay 播放器源代码分析

https://www.qcloud.com/community/article/535574001486630869 视频播放器原理其实大抵相同,都是对音视频帧序列的控制.只是一些播放器在音视频同步上可能做了更为复杂的帧预测技术,来保证音频和视频有更好的同步性. ffplay 是 FFMpeg 自带的播放器,使用了 ffmpeg 解码库和用于视频渲染显示的 sdl 库,也是业界播放器最初参考的设计标准.本文对 ffplay 源码进行分析,试图用更基础而系统的方法,来尝试解开播放器的音视频同步,

从朴素贝叶斯分类器到贝叶斯网络(上)

一.贝叶斯公式(一些必备的数学基础) 贝叶斯(Thomas Bayes)是生活在十八世纪的一名英国牧师和数学家.因为历史久远,加之他没有太多的著述留存,今天的人们对贝叶斯的研究所知甚少.唯一知道的是,他提出了概率论中的贝叶斯公式.但从他曾经当选英国皇家科学学会会员(类似于院士)来看,他的研究工作在当时的英国学术界已然受到了普遍的认可. 事实上,在很长一段时间里,人们都没有注意到贝叶斯公式所潜藏的巨大价值.直到二十世纪人工智能.机器学习等崭新学术领域的出现,人们才从一堆早已蒙灰的数学公式中发现了贝