📄 global.h
字号:
#ifndef _GLOBAL_H
#define _GLOBAL_H 1
#include "svm.h"
#include "Matrix.h"
enum states{error,noerror,nosamesize,nopdataspace};
typedef double DOUBLE;
class CMatrix
{
public:
CMatrix();
~CMatrix();
void getnumber(); //输入矩阵
void shownumber(); //输出矩阵
states issamesize1(); //方阵的值与方阵的幂还有逆判断
states issamesize2(CMatrix &b); //矩阵加法与矩阵减法的判断
states issamesize3(CMatrix &b); //矩阵乘法的判断
states issamesize4(CMatrix &b); //矩阵除法的判断
states isempty(); //指针的判断
DOUBLE det(); //方阵的值
states pow(CMatrix &c,int n); //方阵的幂
states inv(CMatrix &c); //方阵的逆
states tran(CMatrix &c); //矩阵的转置
states add(CMatrix &b, CMatrix &c); //矩阵的加法
states sub(CMatrix &b, CMatrix &c); //矩阵的减法
states mul(CMatrix &b, CMatrix &c); //矩阵的乘法
states divi(CMatrix &b, CMatrix &c);//矩阵的除法
public:
DOUBLE *pdata;
int nline;
int ncol;
int flag_det;// 为了正确输出det
};
class CSampleData
{
public:
CSampleData();
~CSampleData();
bool readFile(char* fileName);
bool normalize();
bool writeFile(char* fileName);
int searchClassName(char* className);
public:
int numClass;
int numFeature;
int numSample;
char** nameClass;
DOUBLE* xdata;
int* ydata;
DOUBLE* maxValue;
DOUBLE* minValue;
};
class CLdf
{
public:
CLdf();
~CLdf();
bool train(char* fileName);
bool test(char* fileName);
public:
CSampleData sdata;
DOUBLE* paramU;
DOUBLE* paramSigma0;
DOUBLE* paramW;
DOUBLE* paramW0;
DOUBLE* resultTotal;
DOUBLE* resultRight;
};
class CQdf
{
public:
CQdf();
~CQdf();
bool train(char* fileName);
bool test(char* fileName);
public:
CSampleData sdata;
DOUBLE* paramU;
DOUBLE* paramSigma;
DOUBLE* paramInvSigma;
DOUBLE* paramLogSigma;
DOUBLE* resultTotal;
DOUBLE* resultRight;
};
class CMQdf
{
public:
CMQdf();
~CMQdf();
bool train(char* fileName);
bool test(char* fileName);
public:
CSampleData sdata;
DOUBLE* paramU;
DOUBLE* paramSigma;
DOUBLE* paramInvSigma;
DOUBLE* paramLogSigma;
DOUBLE* resultTotal;
DOUBLE* resultRight;
};
class CRda
{
public:
CRda();
~CRda();
bool train(char* fileName);
DOUBLE crossValidation(char* fileName);
bool test(char* fileName);
public:
CSampleData sdata;
DOUBLE paramBeta;
DOUBLE paramGamma;
DOUBLE* paramU;
DOUBLE* paramSigma;
DOUBLE* paramInvSigma;
DOUBLE* paramLogSigma;
DOUBLE* resultTotal;
DOUBLE* resultRight;
};
class CKnn
{
public:
CKnn();
~CKnn();
bool train(char* fileName);
DOUBLE crossValidation(char* fileName);
bool test(char* fileName);
public:
CSampleData sdata;
int paramK;
DOUBLE* resultTotal;
DOUBLE* resultRight;
};
class CSvm
{
public:
CSvm();
~CSvm();
bool train(char* fileName);
bool test(char* fileName);
public:
CSampleData sdata;
struct svm_model *model;
struct svm_node *x_space;
DOUBLE paramC;
DOUBLE paramGamma;
DOUBLE* resultTotal;
DOUBLE* resultRight;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -