基于文本检测功能的最佳方法

时间:2014-01-02 13:04:00

标签: machine-learning classification text-mining

我有一个“简单”的问题:我有文字部分,基于此,应该决定它是“A类”还是“B类”。

作为训练数据,我对文本的各个部分进行了分类,可以训练算法。

文本部分如下所示:

A类

a blue car drives

the blue bus stops

the blue bike drives

B类

 a red bike drives

 the red bus stops

(章节文字最多包含20个单词,变化很大)

如果我使用这个示例数据训练了算法,它应该决定文本是否包含“蓝色”它的分类A,如果它包含“红色”它的分类B等等。

如果单词的频率可能更多为A类或B类,则算法应根据训练数据进行学习。

这是最好的方法,我应该使用哪种工具?

2 个答案:

答案 0 :(得分:0)

我认为fisrt try应该是Logistic Regression,因为你有二进制分类问题。一旦您定义了特征向量(例如,一组确定的单词的频率),您就可以优化用于二进制分类的成本函数的参数(例如,the sigmoid funcion)。

您可能需要的步骤是消除'stop words'

我真的推荐Coursera Machine Learning classes

答案 1 :(得分:0)

您可以尝试Fisher method,其中计算文档中每个特征词(红色,蓝色)的正(A)和负(B)的概率。假设在每个类别中将存在相同数量的项目,则获得具有两个指定单词(红色,蓝色)中的每一个的句子属于指定类别(A,B)的概率。然后获得组合概率。

由于这些特征不是独立的,因此这不是一个真实的概率,但它的工作方式与贝叶斯分类器非常相似。 Fisher方法返回的值是一个更好的概率估计,在报告结果或决定截止时非常有用。