资源简介
该实验的的数据源是Wine recognition data,这是对在意大利同一地区生产的三种不同品种的酒,做大量分析所得出的数据。这些数据包括了三种酒中13种不同成分的数量。13种成分分别为:Alcohol,Malic acid,Ash,Alcalinity of ash,Magnesium,Total phenols,Flavanoids,Nonflavanoid phenols,Proanthocyanins,Color intensity,Hue,OD280/OD315 of diluted wines,Proline。在 “wine.data”文件中,每行代表一种酒的样本,共有178个样本;一共有14列,其中,第一列为类标志属性,共有三类,分别记为“1”,“2”,“3”;后面的13列为每个样本的对应属性的样本值。其中第1类有59个样本,第2类有71个样本,第3类有48个样本。
由于数据源文件中的每个样本的数据都是完整的,没有空缺值等,所以我没有对该数据源文件进行数据的清理工作。
代码片段和文件信息
// NaiveBayes.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
#include
#include
using namespace std;
const int Attr_NUM = 35;//属性个数
const int Class_NUM = 19;//类别个数
const int Max_Attr_val = 8;//属性中取值的最大个数,该任务中为属性date:0~6,若包括?,共8个
const int Max_CName_len = 50;//最长类别名的长度
class CNaiveBayes
{
private:
char Class_name_vector[Class_NUM][Max_CName_len];//类别名向量
double Pv[Class_NUM];//Pv[vj]表示概率P(vj)
int Atrr_val_num[Attr_NUM];//每个属性值的取值个数
double P[Attr_NUM][Max_Attr_val][Class_NUM];//P[ai][x][vj]表示概率P(ai=x|vj),即vj类中,属性ai=x的频率
int result_matrix[Class_NUM][Class_NUM];//结果矩阵,行表示真实类,列表示预测类
double Precision[Class_NUM];//各个类别正确率
double Recall[Class_NUM];//各个类别召回率
double F_Measure[Class_NUM];//各个类别F值
public:
CNaiveBayes();
void Train();//训练,并将训练结果——概率矩阵写入文件
int Classifytest();//读入训练结果测试
int Search_CName_Vector(char* fstring);//在Class_name_vector中搜索类名含在fstring中的类别号返回
int Max_pro(double* pro_vectorconst int num);
};
CNaiveBayes::CNaiveBayes()
{
char Class_name[Class_NUM][Max_CName_len] = {“diaporthe-stem-canker““charcoal-rot““rhizoctonia-root-rot““phytophthora-rot““brown-stem-rot“
“powdery-mildew““downy-mildew““brown-spot““bacterial-blight““bacterial-pustule“
“purple-seed-stain““anthracnose““phyllosticta-leaf-spot““alternarialeaf-spot““frog-eye-leaf-spot“
“diaporthe-pod-&-stem-blight““cyst-nematode““2-4-d-injury““herbicide-injury“
};
for (int i=0; i {
strcpy(Class_name_vector[i]Class_name[i]);
}
//初始化类别概率向量
for (int i = 0; i < Class_NUM; i++)
{
Pv[i] = 1.0/Class_NUM;
}
Atrr_val_num[0] = 7+1;//data
Atrr_val_num[1] = 2+1;//plant-stand
Atrr_val_num[2] = 3+1;//precip
Atrr_val_num[3] = 3+1;//temp
Atrr_val_num[4] = 2+1;//hail
Atrr_val_num[5] = 4+1;//crop-hist
Atrr_val_num[6] = 4+1;//area-damaged
Atrr_val_num[7] = 3+1;//severity
Atrr_val_num[8] = 3+1;//seed-tmt
Atrr_val_num[9] = 3+1;//germination
Atrr_val_num[10] = 2+1;//plant-growth
Atrr_val_num[11] = 2+1;//leaves
Atrr_val_num[12] = 3+1;//leafspots-halo
Atrr_val_num[13] = 3+1;//leafspots-marg
Atrr_val_num[14] = 3+1;//leafspot-size
Atrr_val_num[15] = 2+1;//leaf-shread
Atrr_val_num[16] = 2+1;//leaf-malf
Atrr_val_num[17] = 3+1;//leaf-mild
Atrr_val_num[18] = 2+1;//stem
Atrr_val_num[19] = 2+1;//lodging
Atrr_val_num[20] = 4+1;//stem-cankers
Atrr_val_num[21] = 4+1;//canker-lesion
Atrr_val_num[22] = 2+1;//fruiting-bodies
Atrr_val_num[23] = 3+1;//‘external decay‘
Atrr_val_num[24] = 2+1;//mycelium
Atrr_val_num[25] = 3+1;//int-discolor
Atrr_val_num[26] = 2+1;//sclerotia
Atrr_val_num[27] = 4+1;//fruit-pods
Atrr_val_num[28] = 5+1;//‘fruit spots‘
Atrr_val_num[29] = 2+1;//seed
Atrr_val_num[30] = 2+1;//mold-growth
Atrr_val_num[31] = 2+1;//seed-discolor
Atrr_val_num[32] = 2+1;//seed-size
Atrr_val_num[33] = 2+1;//shriveling
Atrr_val_num[34] =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 65536 2011-03-28 15:06 分类器程序\NaiveBayes\debug\NaiveBayes.exe
文件 423760 2011-03-28 15:06 分类器程序\NaiveBayes\debug\NaiveBayes.ilk
文件 551936 2011-03-28 15:06 分类器程序\NaiveBayes\debug\NaiveBayes.pdb
文件 12382 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\BuildLog.htm
文件 67 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\mt.dep
文件 403 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\NaiveBayes.exe.em
文件 468 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\NaiveBayes.exe.em
文件 385 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\NaiveBayes.exe.intermediate.manifest
文件 71937 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\NaiveBayes.obj
文件 1048576 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\NaiveBayes.pch
文件 10997 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\stdafx.obj
文件 175104 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\vc80.idb
文件 258048 2011-03-28 15:06 分类器程序\NaiveBayes\NaiveBayes\Debug\vc80.pdb
文件 9501 2009-01-02 16:32 分类器程序\NaiveBayes\NaiveBayes\NaiveBayes.cpp
文件 4496 2011-03-28 20:52 分类器程序\NaiveBayes\NaiveBayes\NaiveBayes.vcproj
文件 1405 2011-03-29 15:28 分类器程序\NaiveBayes\NaiveBayes\NaiveBayes.vcproj.ANDY.Administrator.user
文件 1427 2011-03-28 21:57 分类器程序\NaiveBayes\NaiveBayes\NaiveBayes.vcproj.PC2011030613WJE.Administrator.user
文件 1421 2009-01-02 16:32 分类器程序\NaiveBayes\NaiveBayes\NaiveBayes.vcproj.SKYHEARTBABY.skyheart.user
文件 968 2008-12-28 21:39 分类器程序\NaiveBayes\NaiveBayes\ReadMe.txt
文件 34012 2008-11-22 10:16 分类器程序\NaiveBayes\NaiveBayes\soybean-large-test.arff
文件 28083 2008-11-22 10:16 分类器程序\NaiveBayes\NaiveBayes\soybean-large-train.arff
文件 215 2008-12-28 21:39 分类器程序\NaiveBayes\NaiveBayes\stdafx.cpp
文件 276 2008-12-28 21:39 分类器程序\NaiveBayes\NaiveBayes\stdafx.h
文件 1100800 2011-03-29 15:28 分类器程序\NaiveBayes\NaiveBayes.ncb
文件 895 2008-12-28 21:39 分类器程序\NaiveBayes\NaiveBayes.sln
..A..H. 15360 2011-03-29 15:28 分类器程序\NaiveBayes\NaiveBayes.suo
文件 46080 2008-12-31 15:05 分类器程序\贝叶斯分类器实验报告.doc
目录 0 2011-04-07 12:34 分类器程序\NaiveBayes\NaiveBayes\Debug
目录 0 2011-04-07 12:34 分类器程序\NaiveBayes\debug
目录 0 2011-04-07 12:34 分类器程序\NaiveBayes\NaiveBayes
............此处省略5个文件信息
- 上一篇:Visual画图工具
- 下一篇:谷歌浏览器Tab页定时轮播插件
评论
共有 条评论