?? main.cpp
字號:
#include <string.h>
#include <direct.h>
#include "PCA.h"
#include "FileManager.h"
PCA_Param pca_param;
PCA_Data trn_data;
PCA_Data tst_data;
char trn_file_name[MAX_NAME_LEN];
char tst_file_name[MAX_NAME_LEN];
void LoadSet()
{
FileManager fm;
char *str;
fm.LoadFileContent("set.txt");
str=fm.ParseItemValue("number_input");
pca_param.number_input=atoi(str);
delete str;
str=fm.ParseItemValue("eps");
pca_param.eps=atof(str);
delete str;
str=fm.ParseItemValue("pca_iter");
pca_param.max_iter=atoi(str);
delete str;
str=fm.ParseItemValue("number_pc");
pca_param.number_pc=atoi(str);
delete str;
str=fm.ParseItemValue("data_set_name");
strcpy(pca_param.data_set_name, str);
delete str;
str=fm.ParseItemValue("train_file");
strcpy(trn_file_name, str);
delete str;
str=fm.ParseItemValue("test_file");
strcpy(tst_file_name, str);
delete str;
fm.ReleaseFileContent();
}
void LoadData(PCA_Data &pdata, char *file_name)
{
int i;
FileManager fm;
pdata.number_input=pca_param.number_input;
double *p=fm.ReadData(pca_param.number_input, pdata.number_sample, file_name);
pdata.y=(double *)malloc(pdata.number_sample*sizeof(double));
pdata.x=(double **)malloc(pdata.number_sample*sizeof(double *));
for(i=0; i<pdata.number_sample; i++)
{
pdata.x[i]=(double *)malloc(pca_param.number_input*sizeof(double));
memcpy(pdata.x[i], p+i*(pca_param.number_input+1), pca_param.number_input*sizeof(double));
pdata.y[i]=p[i*(pca_param.number_input+1)+pca_param.number_input];
}
delete []p;
}
void MkDirectory()
{
char str[MAX_NAME_LEN];
_mkdir("result");
sprintf(str, "result/%s/", pca_param.data_set_name);
_mkdir(str);
}
void main()
{
LoadSet();
MkDirectory();
LoadData(tst_data, tst_file_name);
//PCA(pca_param, trn_data);
DataTransform(pca_param, tst_data);
FreePCAData(tst_data);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -