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

📄 accuracy.cpp

📁 一个聚类算法用K-mean处理后迭代
💻 CPP
字号:
#include <deque>
#include <vector>
#include "head.h"
#include <iostream>

using namespace std;

instance center( cluster & my_cluster) {
	
		int i; instance tmp(my_cluster.f1.size());

		for(i=0; i< my_cluster.f1.size(); i++) {
			
			tmp[i]= my_cluster.f1[i] / my_cluster.n;
		}
		
		return tmp;
}

double accuracy( deque<lable_instance>::iterator begin, deque<lable_instance>::iterator end,
								concept & my_concept)
{
	if (begin>=end) {
		cout<<"wrong parameter!\n";
		return 0;
	}

		deque<lable_instance>::iterator here=begin;
			
		int count=0;
		vector<double> min(my_concept.size(), 10000);
		int result;
		double val;
		instance tmp;
		int i,j;
		
		while( here!=end) {
			
			for(i=0; i< my_concept.size(); i++) {
				

				
					for(j=0; j<my_concept[i].size(); j++) {
						
						tmp= center( my_concept[i][j] );
						
						if (distance((*here).att, tmp ) < min[i]) 
									
									min[i]= distance( (*here).att, tmp );
						
					}
					
					
			}
			
			result=0;		val= min[0]	;	
			for(i=0; i<min.size(); i++) {
					
					if (val>min[i]) {
								result=i;
								val=min[i];
							}
			} 
			
			if (result== (*here).lable)
					count++;
					
			here++;
		}
		cout<<count<<endl;
		return (count/ (end-begin) );
		
}
			
			
			

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -