= 요약 = * 가장 느리고 무식한 Linear Search로도 문제해결 했다를 보여주는 의지의 한국인 코드 * 프로그램을 재실행하면 또 오래 기다려야 해서 파일 입출력을 적극 활용 * 고로 이 프로그램을 복붙해서 그냥 실행하면 돌아가지 않습니다 * 이 프로그램은 Bayes Classifier 값을 구하는것 까지이고, 시간 관계상 값의 참/거짓 빈도는 엑셀을 이용해서 계산했습니다. == 확률값 분석 == * 다른 분들과 달리, 저는 한 글자인 문자와 특수문자를 첫 글자로 포함하는 단어들은 Train Data 및 Test Data 분석에 포함시키지 않았습니다. * 때문에, 경제 면에서는 200개의 기사 중 148개의 분류를 성공하는 저조한 성적을 보였습니다. * 반면, 정치 면에서는 200개의 기사 중 188개의 분류를 성공하여, 94%의 정확도를 보였습니다. == Source Code == * 여러분의 정신 건강을 위해.. 이 코드를 분석하는 것을 권장하지는 않습니다;ㅁ; === Train File Analysis === {{{ import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class FileAnalasys { String filename; List articles; public List data; public List frequency; FileAnalasys(String f){ filename = f; articles = new ArrayList(); data = new ArrayList(); frequency = new ArrayList(); } public void moveFileToData(){ try{ FileReader fr = new FileReader(filename); BufferedReader br = new BufferedReader(fr); String line; String str; line = br.readLine(); while(line != null){ articles.add(line); StringTokenizer st = new StringTokenizer(line, " "); while(st.hasMoreTokens()){ str = st.nextToken(); if(str.length() > 1 && str.charAt(0) != '.' && str.charAt(0) != ','&& str.charAt(0) != '!'&& str.charAt(0) != '"' && str.charAt(0) != ':' && str.charAt(0) != '-' && str.charAt(0) != ';'){ boolean addFlag = true; for(int i=0; i bayes; testFileCal(String f){ filename = f; bayes = new ArrayList(); } public void testArticleRead(List data, List frequency, List data2, List frequency2){ try{ FileReader fr = new FileReader(filename); BufferedReader br = new BufferedReader(fr); String line; String str; line = br.readLine(); while(line != null){ StringTokenizer st = new StringTokenizer(line, " "); ArrayList articleWords = new ArrayList(); while(st.hasMoreTokens()){ str = st.nextToken(); if(str.length() > 1 && str.charAt(0) != '.' && str.charAt(0) != ','&& str.charAt(0) != '!'&& str.charAt(0) != '"' && str.charAt(0) != ':' && str.charAt(0) != '-' && str.charAt(0) != ';'){ boolean addFlag = true; for(int j=0; j