⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adaboost_results_file.cpp

📁 adaboost code in matlab
💻 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 + -