现在的位置: 首页 > 综合 > 正文

数据挖掘—概念空间挖掘FindS算法的C++实现

2013年12月02日 ⁄ 综合 ⁄ 共 703字 ⁄ 字号 评论关闭

算法是概念空间挖掘最简单的算法,只考虑了正实例,不断做泛化,实际上求得了一个最特化边界

概念挖掘需求

C++实现

#include <iostream>
#include <string>
using namespace std;
#define MAXTRAIN 4
#define MAXLEN 7

int main(){
	int i, j;
	string state[MAXTRAIN][MAXLEN];
	string concept[MAXLEN];
	string yes("Yes");
	for( i = 0; i < MAXTRAIN; i++){
		for( j = 0;j < MAXLEN; j++){
			cin>>state[i][j];
		}
	}

	for( j = 1;j < MAXLEN; j++){
		concept[j] = state[0][j];
	}
	
	for( i = 1; i < MAXTRAIN; i++){
		if(state[i][MAXLEN-1].compare(yes) == 0){
			for( j = 1;j < MAXLEN-1; j++){
				if(state[i][j].compare(concept[j]) != 0){
					concept[j] = "?";
				}
			}
		}
	
	}

	cout<<"the concept is:";
	for( j = 1;j < MAXLEN-1; j++){
		cout<<concept[j]<<" ";
	}
	return 0;
}

测试数据

1 Sunny Warm Normal Strong Warm Yes
2 Sunny Warm High Strong Warm Yes
3 Rainy Cold High Strong Warm No
4 Sunny Warm High Strong Cool Yes

测试结果

the concept is:Sunny Warm ? Strong ?




抱歉!评论已关闭.