📄 ascfoil.cpp
字号:
// AscFoil.cpp : Defines the entry point for the console application.//#include "StdAfx.h"#include <time.h>#include "global.h"#include "HashTable.h"#include "DESCRIPTION.h"#include "TUPLE.h"#include "LITERAL.h"#include "RULE.h"#include "RULESET.h"#include "DataSource.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// The one and only application objectusing namespace std;int main(int argc, const char* argv[]){ int nRetCode = 0; //FOIL clock_t old_tick=clock(); double accuracy=0; int num_rules=0; int num_dataset=0; for(int i=0;i<10;i++) { printf("Training set #%d\n",i); CString suffix; suffix.Format("%d.txt",i); DataSource source; bool existed=source.ReadData("train"+suffix); if(!existed) continue; else num_dataset++; num_rules+=source.GenRulesFOIL("rule"+suffix); DataSource source_test; source_test.ReadData("test"+suffix); source_test.ReadRules("rule"+suffix); accuracy+=source_test.Classify("result"+suffix); if(i==0) {// source_test.IntepretRules("rule_semantics.tab","rule_interpreted.tab"); } } int time=clock()-old_tick; FILE* fout=fopen("summary.txt","w"); fprintf(fout,"\nAccuracy: %g%%\n",accuracy*100.0/num_dataset); fprintf(fout,"#Rules: %.1f\n",(double)num_rules/num_dataset); fprintf(fout,"%.3f seconds\n",time*1.0/CLOCKS_PER_SEC/num_dataset); fclose(fout); printf("\nAccuracy: %g%%\n",accuracy*100.0/num_dataset); printf("#Rules: %.1f\n",(double)num_rules/num_dataset); printf("%.3f seconds\n",time*1.0/CLOCKS_PER_SEC/num_dataset);/* DataSource source; source.ReadData("train.txt"); source.GenRulesFOIL("rule_foil.txt"); source.ReadRules("rule_foil.txt"); source.EvaluateRules("rules.txt");*/ return nRetCode;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -