目录
简述
基于高斯朴素贝叶斯 - 通过身高和体重推测性别,本次再增加肺活量特征。本项目由以下四部分组成,本节是第2节:
3、MPI优化
4、OpenMP优化
数据
部分数据如下,这四列分别为:性别、身高、体重、肺活量。
代码
代码依旧分为三个文件,其实按照正确的做法,handleData.cpp和naiveBayes.cpp应该合并的,但是为了方便调试所以分开了,在后续会将这两个文件合并。
//allHead.h
#ifndef _STDIO_H_
#define _STDIO_H_
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#define PI 3.1415926535898
//单条数据的长度
#define MAX_LINE 100
//数据集的长度
#define DATA_LEN 100000
//特征值的个数(身高、体重、肺活量)
#define EIGEN_NUM 4
/*声明函数*/
//获取数据集
void getData(const char *fileLocation);
//获得平均值和标准差:给 Parameter 赋值
void getParameter();
//计算平均值和标准差
double* calParameter(int column,int sex);
//计算概率p(特征列column = x | 性别)
double getProbability(double x,int column,int sex);
//正态分布 x:随机变量的值 u:样本平均值 p:标准差
double gaussianDistribution(double x,double u,double p);
//返回性别字符结果
char* sexResult(float height,float weight);
//返回性别ID结果
int sexIDResult(float height,float weight);
//准确度判断
float precision();
//数据集有肺活量(VC),返回性别字符结果
char* addVCSexResult(float height,float weight,float VC);
//数据集有肺活量(VC),返回性别ID结果
int addVCSexIDResult(float height,float weight,float VC);
//数据集有肺活量(VC),准确度判断
float addVCPrecision();
#endif