支持 TF-IDF 的 Naive Bayesian 分类。
特点:
*
条件概率和“对数似然”分值。
*
下溢检测。
*
分类器简单持久。
*
统计。
### 举例1 (plain no tf-idf)
使用分类器,先创建一个分类并测试:
<pre box-sizing:="" font-family:="" liberation="" font-size:="" margin-top:="" margin-bottom:="" font-stretch:="" line-height:="" word-wrap:="" padding:="" overflow:="" background-color:="" border-radius:="" word-break:="">import . "bayesian"const ( Good Class = "Good"
Bad Class = "Bad")classifier := NewClassifier(Good, Bad)goodStuff := []string{"tall", "rich", "handsome"}badStuff := []string{"poor", "smelly", "ugly"}
classifier.Learn(goodStuff, Good)
classifier.Learn(badStuff, Bad)</pre>
然后你可以
查明每个类的分值类的
数据所属
:
<pre box-sizing:="" font-family:="" liberation="" font-size:="" margin-top:="" margin-bottom:="" font-stretch:="" line-height:="" word-wrap:="" padding:="" overflow:="" background-color:="" border-radius:="" word-break:="">scores, likely, _ := classifier.LogScores(
[]string{"tall", "girl"}
)</pre>
分数
的大小
表示似然性。另外(但浮溢的一些风险),但可以
得到
实际的
概率
:
<pre box-sizing:="" font-family:="" liberation="" font-size:="" margin-top:="" margin-bottom:="" font-stretch:="" line-height:="" word-wrap:="" padding:="" overflow:="" background-color:="" border-radius:="" word-break:="">probs, likely, _ := classifier.ProbScores(
[]string{"tall", "girl"}
)</pre>
### [
](https://github.com/jbrukh/bayesian#example-2-tf-idf)举例2 (TF-IDF)
在分类
方法
(LogScore,
ProbSafeScore
,
ProbScore
)之
前,
要使用
TF-IDF分类,首先必须创建一些类和测试它,之后你需要调用ConvertTermsFreqToTfIdf() 。
<pre box-sizing:="" font-family:="" liberation="" font-size:="" margin-top:="" margin-bottom:="" font-stretch:="" line-height:="" word-wrap:="" padding:="" overflow:="" background-color:="" border-radius:="" word-break:="">import . "bayesian"const ( Good Class = "Good"
Bad Class = "Bad")classifier := NewClassiferTfIdf(Good, Bad) // Extra constructorgoodStuff := []string{"tall", "rich", "handsome"}badStuff := []string{"poor", "smelly", "ugly"}
classifier.Learn(goodStuff, Good)
classifier.Learn(badStuff, Bad)
classifier.ConvertTermsFreqToTfIdf() // IMPORTANT !!</pre>
然后你可以查明每个类的分值和类的
数据所属
:
<pre box-sizing:="" font-family:="" liberation="" font-size:="" margin-top:="" margin-bottom:="" font-stretch:="" line-height:="" word-wrap:="" padding:="" overflow:="" background-color:="" border-radius:="" word-break:="">scores, likely, _ := classifier.LogScores(
[]string{"tall", "girl"}
)</pre>
分数
的大小
表示似然性。另外(但浮溢的一些风险),但可以
得到
实际的
概率
:
<pre box-sizing:="" font-family:="" liberation="" font-size:="" margin-top:="" margin-bottom:="" font-stretch:="" line-height:="" word-wrap:="" padding:="" overflow:="" background-color:="" border-radius:="" word-break:="">probs, likely, _ := classifier.ProbScores(
[]string{"tall", "girl"}
)</pre>