📄 iris_bayes.cpp
字号:
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cmath>
using namespace std;
// *****************************************************
// Constants and Type Definitions
// *****************************************************
#define ClassNum 3
#define FeatureVectorSize 4
#define SampleNum 150
typedef struct iris_sample_type {
char label[16];
int id;
int fv[FeatureVectorSize];
} IRISSample;
// *****************************************************
// Function Prototypes
// *****************************************************
static void load_iris_data();
static void leave_one_out_test();
static void estimate();
static void estimate_mean_vector();
static void estimate_covariance_matrix();
static void estimate_mean_vector_for_iris_leave_one_out(int ci, int idx1, int idx2, int leave);
static void estimate_covariance_matrix_for_iris_leave_one_out(int ci, int idx1, int idx2, int leave);
static void bayes_classifier(int idx, char label[16]);
static void output_iris_parameter();
static void inverse(double s[4][4], double I[4][4]);
static void determinant(double s[4][4], double& det);
// *****************************************************
// Global Data
// *****************************************************
// 妓セ疭紉畐
static IRISSample iris[SampleNum];
// 参璸把计
static double m[ClassNum][FeatureVectorSize];
static double C[ClassNum][FeatureVectorSize][FeatureVectorSize];
// CI: C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -