0

目前我正在使用 azure 机器学习。我用两种类型的数据集训练我的 ML,它们只不过是带有地址和没有地址的网页内容

培训输入:

i.e)
this is a address no 24/5    address
this is no address    no-address 

如果我使用任何其他方法,我正在使用二类贝叶斯分类对它们进行分类

给定输入:

i.e)
This a address 12/4 

获得的输出:

i.e)
content    score    probability
This a address 12/4    no-address    0.54

预期输出:

i.e)
content    score    probability
This a address 12/4    address    with higher probability 

我的实验看起来像:

在此处输入图像描述

4

1 回答 1

2

您需要使用 Feature Hashing 模块将文本转换为单词特征。但是,这可能还不够,因为对于您的问题来说,单词并不是很好的功能。您可能想要对文本进行一些处理并创建更多有用的功能(也许检测邮政编码的存在、数字的位置等......)

编辑:使用原始文本列作为一项功能不会让你到任何地方。您不希望您的模型以它们的编写方式学习地址。相反,您需要学习文本中为地址与非地址实例提供证据的模式。当您使用特征散列时,文本列将转换为多个单词(或 n-gram)列,其中的值表示每个文本输入中这些单词的计数。这里的问题是过拟合。例如,这两个地址没有相同的词:“100 Broadway st, GA”和“200 main rd, NY”,但很明显它们具有相似的结构。创建“有用特征”的一种方法是用标签替换单词:“#NUM #TXT,#STATE”并使用特征哈希(二元组)来创建特征,例如“#NUM #TXT”和“,#STATE” ”。如你看到的,这些二元组在两个地址中都算作证据,并表明它们之间存在某种相似性(与其他非地址实例相比)。当然,这是对问题的过度简化,但我希望你明白为什么不能使用原始文本或普通特征散列。
除了“执行 R”模块在训练前进行文本处理之外,您仍然可以使用 Azure ML 模块进行功能哈希、训练和评分。

编辑:特征散列使用示例:http: //gallery.azureml.net/Details/cf65bf129fee4190b6f48a53e599a755

于 2015-04-07T15:56:06.660 回答