朴素贝叶斯分类器

转自: DM&ML_note.3-朴素贝叶斯分类器_hiro的博客-CSDN博客

// bys.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
/*hiro:
stdafx的英文全称为:
Standard Application Framework Extensions(标准应用程序框架的扩展)。
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头
文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,
不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
*/

#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <map>
using namespace std;
vector<string> split(const string& src,const string& delimiter);    //根据定界符分离字符串
void rejudge();       //重新判断原输入数据的类别
vector<vector<string> > vect;    //二维容器
map<string,int> category_bak; //存放类别
map<string,double> pro_map;   //存放各种概率的map容器
int main()
{
   string strLine;
   ifstream readfile("weather.txt");
   if(!readfile)  //打开文件失败!
   {
      cout<<"Fail to open file weather!"<<endl;
      cout<<getchar();
      return 0;
   }
   else
   {
      cout<<"读取原始数据如下:"<<endl;
      vector<vector<string> >::size_type st_x;    //二维容器x坐标
      vector<string>::size_type st_y;   //二维容器y坐标
      vector<string> temp_vect;
      while(getline(readfile,strLine))  //一行一行读取数据
      {
         cout<<strLine<<endl;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
朴素贝叶斯分类器(Naive Bayes classifier)是一种常用的概率分类方法,它基于贝叶斯理论和特征独立假设。朴素贝叶斯分类器有着简单高效的特点,在文本分类、垃圾邮件过滤、情感分析等领域都有广泛应用。 朴素贝叶斯分类器的基本原理是利用训练集的特征和对应的分类标签构建生成模型,然后根据测试样本的特征,通过计算后验概率来进行分类预测。具体而言,朴素贝叶斯分类器假设特征之间相互独立,基于此假设,可以通过训练集中特征在各个类别下的条件概率来计算样本在不同类别下的后验概率,并选择后验概率最大的类别作为分类结果。 朴素贝叶斯分类器的训练过程包括两个步骤:首先是计算各个类别的先验概率,即每个类别在训练集中的出现频率;然后是计算每个特征在各个类别下的条件概率,即给定一个类别时,特征的条件概率。在得到先验概率和条件概率后,可以通过贝叶斯公式计算后验概率。 朴素贝叶斯分类器的优点在于对小规模数据集具有较好的分类性能,且能够处理多类别分类问题。而其缺点则是对于特征之间的相关性较为敏感,当特征之间存在强相关性时,朴素贝叶斯分类器的性能会下降。 总的来说,朴素贝叶斯分类器是一种简单而有效的分类方法,它在许多实际应用中表现出色。其理论基础扎实,实现相对简单,适用于处理小规模数据集的分类问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值