机器学习:表示单词功能的好方法

时间:2011-12-16 01:31:38

标签: algorithm machine-learning

不太确定这是不是正确的地方.. 但这是我的问题。 因此,对于本质上是数字的特征,代表它们,绘制它们等是很自然的,但是单词呢?

如何处理您将单词作为功能的数据?所以,假设我有一个包含以下功能的数据集:

InventoryVal, Number of Units, Avg Price, Category of Event and so on..
  • InventoryVal是一个数字
  • 单位数是一个数字
  • 平均价格是一个数字
  • 事件类别是由人类指定的词。

如果我用id替换类别(示例)“books”的事件......(比如说1)但是那也是我指定的东西,而不是数据固有的东西。

什么是表示产品属于“艺术”类别而没有人工分配任何东西的好指标? 呃......问题太模糊或措辞松散?/

2 个答案:

答案 0 :(得分:0)

因为你可能已经猜到有整个ML库都针对这个问题,但是如果你只是想要开始,最简单的(也许是最常见的)是 字频 < / strong>即可。换句话说,您将每个单词表示为一个特征,其值是每个文档中单词出现次数的函数。

但是最常见的单词( a,and,this 等)是最常见的(在普通文本文档(例如,电子邮件)中,但并不是最重要的,所以通常将单词特征表达为 它的频率的反转

同样,这是最简单的方法(词汇是通常所指的方式);更复杂的分析(并非总是需要)预处理单个单词以将其分类为例如词性分析。

如果您喜欢python,我建议NLTK(自然语言工具包)是一个成熟且记录良好的python库。有很多“入门”教程,但也许从NLTK贡献者创建的教程开始,并在NLTK主页上引用;这些tutorials通常依赖于基础NLTK安装中包含的语料库(数据集)。

答案 1 :(得分:0)

如果您正在使用现有的机器学习包或打包的机器学习算法,可能有一种方法可以告诉它特定字段包含例如被视为标识符的整数,其中只有对平等和不平等的比较才有意义。如果不是,如果只有少量不同的类别,用10个二进制字段替换10个值的类别字段可能是有意义的,如果对象在该特定类别中则保持1,否则为0(或9个字段) ,如果对象属于第10类,如果它们都是0)。