<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842011%2F%EB%91%98%EC%A7%B8%EB%82%A0%2FMachine-Learning%2FNaiveBayesClassifier%2Fnamsangboy</id>
	<title>데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/namsangboy - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842011%2F%EB%91%98%EC%A7%B8%EB%82%A0%2FMachine-Learning%2FNaiveBayesClassifier%2Fnamsangboy"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842011/%EB%91%98%EC%A7%B8%EB%82%A0/Machine-Learning/NaiveBayesClassifier/namsangboy&amp;action=history"/>
	<updated>2026-05-15T15:31:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842011/%EB%91%98%EC%A7%B8%EB%82%A0/Machine-Learning/NaiveBayesClassifier/namsangboy&amp;diff=47331&amp;oldid=prev</id>
		<title>imported&gt;namsangboy at 12:33, 28 June 2011</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842011/%EB%91%98%EC%A7%B8%EB%82%A0/Machine-Learning/NaiveBayesClassifier/namsangboy&amp;diff=47331&amp;oldid=prev"/>
		<updated>2011-06-28T12:33:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; #-*-coding:utf8-*-&lt;br /&gt;
 import re, sys, math&lt;br /&gt;
 classlist = [&amp;quot;economy&amp;quot;,&amp;quot;politics&amp;quot;]&lt;br /&gt;
 maketestdir = lambda i : &amp;quot;/home/newmoni/workspace/svm/package/test/&amp;quot;+i+&amp;quot;/&amp;quot;+i+&amp;quot;.txt&amp;quot;    &lt;br /&gt;
 def readtrain():&lt;br /&gt;
     path1 = &amp;quot;/home/newmoni/workspace/svm/package/train/economy/index.economy.db&amp;quot;&lt;br /&gt;
     path2 = &amp;quot;/home/newmoni/workspace/svm/package/train/politics/index.politics.db&amp;quot;&lt;br /&gt;
     makedir = lambda i : &amp;quot;/home/newmoni/workspace/svm/package/train/&amp;quot;+i+&amp;quot;/index.&amp;quot;+i+&amp;quot;.db&amp;quot;&lt;br /&gt;
     classfreqdic = {}&lt;br /&gt;
     totalct=0&lt;br /&gt;
     wordfreqdic = {}&lt;br /&gt;
     for eachclass in classlist:&lt;br /&gt;
         doclist = open(makedir(eachclass)).read().split(&amp;quot;\n&amp;quot;)&lt;br /&gt;
         classfreqdic[eachclass]=len(doclist)&lt;br /&gt;
         wordfreqdic[eachclass] = {}&lt;br /&gt;
         totalct+=len(doclist)&lt;br /&gt;
         for line in doclist:&lt;br /&gt;
             for word in line.split(&amp;quot; &amp;quot;):&lt;br /&gt;
                 if not wordfreqdic[eachclass].has_key(word):&lt;br /&gt;
                     wordfreqdic[eachclass][word]=0&lt;br /&gt;
                 wordfreqdic[eachclass][word]+=1&lt;br /&gt;
     totalct = float(totalct)&lt;br /&gt;
     prob1 = math.log((classfreqdic[&amp;quot;economy&amp;quot;]/totalct)/(classfreqdic[&amp;quot;politics&amp;quot;]/totalct))&lt;br /&gt;
     classprob1 = float(classfreqdic[&amp;quot;economy&amp;quot;]/totalct)&lt;br /&gt;
     classprob2 = float(classfreqdic[&amp;quot;politics&amp;quot;]/totalct)&lt;br /&gt;
     return classfreqdic, wordfreqdic, prob1, classprob1, classprob2&lt;br /&gt;
 def classifydocument(document):&lt;br /&gt;
     totalprob = 0&lt;br /&gt;
     for word in document.replace(&amp;quot;\n&amp;quot;,&amp;quot; &amp;quot;).split(&amp;quot; &amp;quot;):&lt;br /&gt;
         classfreq1 = wordfreqdic[&amp;quot;economy&amp;quot;].get(word,0)+1&lt;br /&gt;
         classfreq2 = wordfreqdic[&amp;quot;politics&amp;quot;].get(word,0)+1&lt;br /&gt;
         totalprob+= math.log((classfreq1/classprob1)/(classfreq2/classprob2))&lt;br /&gt;
     return totalprob&lt;br /&gt;
 if __name__==&amp;quot;__main__&amp;quot;:&lt;br /&gt;
     classfreqdic, wordfreqdic, prob1, classprob1, classprob2 = readtrain()&lt;br /&gt;
     correctct=0&lt;br /&gt;
     totalct=0&lt;br /&gt;
     for eachclass in classlist:&lt;br /&gt;
         doclist = open(maketestdir(eachclass)).read().split(&amp;quot;\n&amp;quot;)&lt;br /&gt;
         for line in doclist:&lt;br /&gt;
             totalprob = classifydocument(line)&lt;br /&gt;
             print eachclass, totalprob&lt;br /&gt;
             if eachclass==&amp;quot;economy&amp;quot;:&lt;br /&gt;
                 if totalprob&amp;amp;gt;0:&lt;br /&gt;
                     correctct+=1&lt;br /&gt;
             elif eachclass==&amp;quot;politics&amp;quot;:&lt;br /&gt;
                 if totalprob&amp;amp;lt;0:&lt;br /&gt;
                     correctct+=1                    &lt;br /&gt;
             totalct+=1&lt;br /&gt;
     print correctct,totalct, correctct/float(totalct)&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;namsangboy</name></author>
	</entry>
</feed>