************************************************************************/
04 |
vector<pair<int,string> > Preprocess::KNNclassifier(map<string,vector<pair<int,int>>> &mymap,map<int,vector<double> >&trainingsetVSM,map<int,vector<double> >&testingsetVSM,vector<string>catigorization,int N) |
09 |
vector<pair<int,string>>classifyResults; |
10 |
for(map<int,vector<double> >::iterator it=testingsetVSM.begin();it!=testingsetVSM.end();it++) |
13 |
string label=KNNClassificationCell(N,(it->second),catigorization,mymap,trainingsetVSM); |
14 |
pair<int,string> temp=make_pair(it->first,label); |
//在这里面加入打印到文件的代码
ofile<<"文章标号"<<temp.first<<"归为类别"<<temp.second<<endl;
cout<<"文章标号"<<temp.first<<"归为类别"<<temp.second<<endl;
15 |
classifyResults.push_back(temp); |
19 |
totaltime=(double)(finish-start)/CLOCKS_PER_SEC; |
20 |
cout<<"对测试集进行KNN分类的时间为"<<totaltime<<endl; |
21 |
return classifyResults; |
输入的temp结果如下:

显示是正常的,也就是说temp在push到 vector classifyResults里面之前没有乱码
我在单步调试过程中,在temp也是看到正确结果了
可是主函数中调用返回的东西却很奇怪
