************************************************************************/
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也是看到正确结果了
可是主函数中调用返回的东西却很奇怪