U E D R , A S I H C RSS

데블스캠프2011/둘째날/Machine-Learning/Naive Bayes Classifier/김준석

~Cpp
#include<iostream>
#include<fstream>
#include<math.h>
#include<vector>
#include<string>
#include<map>
using namespace std;


typedef struct Data{
	string s;
	int w;
	float frq;	
}Data;


int main(){

	ifstream f;
	ifstream f2;
	
	map<string,int> economy;
	map<string,int> politics;

	int eco = 1721761;
	int pol = 1760048;
	
	f.open("C:/package/train/economy/index.economy.db");
	f2.open("C:/package/train/politics/index.politics.db");

	while(1){
		if(f.eof()) break;		
		string s;
		f >> s;
		economy[s]++;
		
	}

	while(1){
		if(f2.eof()) break;		
		string s;
		f2 >> s;
		politics[s]++;
	}

	f.close();
	f2.close();

	
	ifstream f3;
	ifstream f4;
	f3.open("C:/package/test/economy/economy.txt");
	f4.open("C:/package/test/politics/politics.txt");

	double frq = 0;
	while(1){
		if(f3.eof()) break;		
		string s;
		f3 >> s;
		
		double e = 0;
		e = economy[s];
		double p = 0;
		p= politics[s];

		if(e == 0 || e == NULL){p++;e=1;}
		if(p == 0 || p == NULL){p=1;e++;}
		
		frq = frq + log((e/eco)/(p/pol));
	}

	cout << "Economy가 가 경제일 확률 " << frq << endl;

	frq = 0;

	while(1){
		if(f4.eof()) break;		
		string s;
		f4 >> s;
		
		double e = 0;
		e = economy[s];
		double p = 0;
		p= politics[s];

		if(e == 0 || e == NULL){p++;e=1;}
		if(p == 0 || p == NULL){p=1;e++;}

		frq =  frq + log((p/pol)/(e/eco));		

 	}


	cout << "Politics 가 정치일 확률 : " << frq << endl;

	cout << endl;

	return 0;
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2011-06-28 13:49:37
Processing time 0.0066 sec