帮助组织我的数据以解决这个机器学习问题

Posted

技术标签:

【中文标题】帮助组织我的数据以解决这个机器学习问题【英文标题】:help organizing my data for this machine learning problem 【发布时间】:2011-05-31 09:44:24 【问题描述】:

我想在给定的一组类别中对推文进行分类,例如 'sports'、'entertainment'、'love' 等...

我的想法是用最常用词的词频来帮助我解决这个问题。例如,“爱”这个词最常出现在 love 类别中,但它也以“我喜欢这个游戏”和“我喜欢这部电影”的形式出现在体育和娱乐中。

为了解决这个问题,我设想了一个 3 轴图表,其中 x 值是我的推文中使用的所有单词,y 值是类别,z 值是术语频率(或某种类型的分数)对单词和类别的尊重。然后我会将推文分解到图表上,然后将每个类别中的 z 值相加。具有最高总 z 值的类别很可能是正确的类别。我知道这很令人困惑,所以让我举个例子:

“看”这个词在体育和娱乐中出现了很多(“我在看比赛”和“我在看我最喜欢的节目”)......因此,我至少将其缩小到这两个类别.但是“游戏”这个词在娱乐中并不经常出现,而在体育运动中也并不经常出现。 'watch' + 'game' 的 Z 值在体育类别中最高,而 'watch' + 'show' 的 Z 值在娱乐类别中最高。

既然您了解了我的想法是如何运作的,那么我需要帮助组织这些数据,以便机器学习算法可以在我给它一个词或一组词时预测类别。我读过很多关于 SVM 的文章,我认为它们是正确的选择。我尝试了 libsvm,但我似乎无法想出一个好的输入集。此外,libsvm 不支持非数字值,这增加了复杂性。

有什么想法吗?我什至需要一个库,还是应该自己编写决策代码?

谢谢大家,我知道这很长,抱歉。

【问题讨论】:

阅读分类和聚类。这是一个已解决的问题,您选择特定单词的机制不是成功解决方案的一部分。 谢谢,我明白这是一个分类问题,但我不同意你的后一种说法。基于频率的特征选择对于大量特征是可行的。 我强烈建议您在开始重新发明文档分类轮之前先做一些常规的事情。试试cs.cornell.edu/People/tj/publications/joachims_98a.pdf 【参考方案1】:

您正在尝试将文本分类为一组类别。 Naive Bayes 这样做。实际上,它是您的想法的统计类似物。它假设文本中单词的频率是一个类别的独立指标,并基于此假设给出每个类别的概率。它在实践中运行良好;我相信Weka 有一个实现。

【讨论】:

【参考方案2】:

您必须根据内容(文字特征)对文档(这里的推文是您的文档)进行分类,并将它们归入类别(运动、环境、爱情等)。

您可以使用Naive Bayes Classifier 或Fisher Classifier(我更喜欢Fisher)对您的文档进行分类。您可以在 python 库中找到两者的实现。

使用词干提取、小写、停用词(the、is、at 等)去除和其他预处理技术来提高效率。

您只需阅读编程集体智能:构建智能 Web 2.0 应用程序一书的第 6 章(文档过滤)。它对分类器以及python中的示例和实现都有很好的解释。

【讨论】:

以上是关于帮助组织我的数据以解决这个机器学习问题的主要内容,如果未能解决你的问题,请参考以下文章

机器学习学习路线

我的Azure机器学习Web服务也有同样的结果.如何克服这个问题?

我的机器学习之路!

Matlab 机器学习训练、验证、测试分区

python机器学习简介

机器学习梯度下降算法的实现及过程分析