www.pudn.com > AdaBoost_weaklearner_1.rar > 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) 
{ 
	FILE *resultfl; 
	int one=1; 
//	long j,i; 
	 
	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_train[10], Array_test[10], Array_train_1[5], Array_test_1[5]; 
    	Matrix* getArrayTrain = new Matrix(10,one); 
        Matrix* getArrayTest = new Matrix(10,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<=10; 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<=10; 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<=5; 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<=5; 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; 
	} 
}