📄 adaboost_results_file.cpp
字号:
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "AdaBoost.h"
#include "Adaboost_results_file.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
/****************************** IO-handling **********************************/
//write results to the text file.
static char temstr[200];
void write_result(char *resultfile,
RESULTS *result,
Matrix* errorTrain_acc,
Matrix* errorTest_acc,
Matrix* errorTrain_acc_1,
Matrix* errorTest_acc_1,
Matrix* test_matrix_day,
Matrix* test_matrix_intersection,
Matrix* test_matrix_link,
Matrix* final_test_hypothesis,
int cycles)
{
FILE *resultfl;
int one=1;
if (com_pro.show_action)
{
sprintf(temstr,"Writing results file..."); printm(temstr);
}
if ((resultfl = fopen (resultfile, "w")) == NULL)
{
printe (resultfile);
}
else
{
fprintf(resultfl,"Adaboost Version %s\n",VERSION);
fprintf(resultfl,"\n");
double Array_Day[1101]; double Array_Intersection[1101],Array_Link[1101], Array_Hypothesis[1101];
Matrix* getArrayDay = new Matrix(1100,one);
Matrix* getArrayIntersection = new Matrix(1100,one);
//Matrix* getArrayLink = new Matrix(1100,one);
//Matrix* getArrayHypothesis = new Matrix(1100,one);
//Matrix* getArrayDay = new Matrix(cycles,one);
//Matrix* getArrayIntersection = new Matrix(cycles,one);
Matrix* getArrayLink = new Matrix(cycles,one);
Matrix* getArrayHypothesis = new Matrix(cycles,one);
getArrayDay->matrixToArray(Array_Day,*test_matrix_day);
getArrayIntersection->matrixToArray(Array_Intersection,*test_matrix_intersection);
getArrayLink->matrixToArray1(Array_Link,*test_matrix_link);
getArrayHypothesis->matrixToArray1(Array_Hypothesis,*final_test_hypothesis);
fprintf(resultfl,"\n");
fprintf(resultfl,"Hypothesis results:\n");
fprintf(resultfl,"-------------------\n");
for (int i=0;i<1000; i++){
fprintf(resultfl,"%d %lf %lf %lf %lf\n",i,Array_Day[i],Array_Intersection[i],Array_Link[i],Array_Hypothesis[i]);
}
fclose(resultfl);
delete getArrayDay;
delete getArrayIntersection;
delete getArrayLink ;
delete getArrayHypothesis;
/* code for results of Train / Test Error*/
/*
double Array_train[12], Array_test[12], Array_train_1[10], Array_test_1[10];
Matrix* getArrayTrain = new Matrix(12,one);
Matrix* getArrayTest = new Matrix(12,one);
Matrix* getArrayTrain_1 = new Matrix(10,one);
Matrix* getArrayTest_1 = new Matrix(10,one);
getArrayTrain->matrixToArrayold(Array_train,*errorTrain_acc);
getArrayTest->matrixToArrayold(Array_test,*errorTest_acc);
getArrayTrain_1->matrixToArrayold(Array_train_1,*errorTrain_acc_1);
getArrayTest_1->matrixToArrayold(Array_test_1,*errorTest_acc_1);
fprintf(resultfl,"\n");
fprintf(resultfl,"Train error results:\n");
fprintf(resultfl,"--------------------\n");
for (int i=0;i<=20; i++){
fprintf(resultfl,"The results of %d cycle: %lf\n",i,Array_train[i]);
}
fprintf(resultfl,"\n");
fprintf(resultfl,"Test error results:\n");
fprintf(resultfl,"-------------------\n");
for (int j=0;j<=20; j++){
fprintf(resultfl,"The results of %d cycle: %lf\n",j,Array_test[j]);
}
fprintf(resultfl,"\n");
fprintf(resultfl,"Train error results with different boosting:\n");
fprintf(resultfl,"--------------------------------------------\n");
for (int k=0;k<=20; k++){
fprintf(resultfl,"The results of %d cycle: %lf\n",k,Array_train_1[k]);
}
fprintf(resultfl,"\n");
fprintf(resultfl,"Test error results with different boosting:\n");
fprintf(resultfl,"-------------------------------------------\n");
for (int l=0;l<=20; l++){
fprintf(resultfl,"The results of %d cycle: %lf\n",l,Array_test_1[l]);
}
fclose(resultfl);
delete getArrayTrain;
delete getArrayTest;
delete getArrayTrain_1;
delete getArrayTest_1; */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -