• 大小: 731KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-07-23
  • 语言: 其他
  • 标签:

资源简介

该实验的的数据源是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.embed.manifest

     文件        468  2011-03-28 15:06  分类器程序\NaiveBayes\NaiveBayes\Debug\NaiveBayes.exe.embed.manifest.res

     文件        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个文件信息

评论

共有 条评论