假设一组结构松散的数据(例如Web表/链接的开放数据),由许多数据源组成。数据后面没有通用模式,每个源都可以使用同义词属性来描述值(例如“国籍”与"bornIn")。
我的目标是找到一些“重要”属性,以某种方式“定义”它们描述的实体。因此,当我为这样一个属性找到相同的值时,我就会知道这两种描述很可能是关于同一个实体的(例如,同一个人)。
例如,属性"lastName“比属性”国籍“更具歧视性。
一个天真的解决办法是取每个属性的值的平均值,并使其成为属性的“重要”因素。一种类似的方法是计算每个属性显示多少不同的值。
我见过术语特性,或者机器学习中的属性选择,但我不想放弃剩下的属性,我只想给最重要的属性赋予更高的权重。
发布于 2014-05-19 18:08:32
发布于 2014-06-10 07:10:45
事实上,这里有不止一个问题要回答:
正如Rubens所提到的,您可以使用决策树方法,特别是随机林,根据信息增益计算最重要的属性,如果您已经找到了标识一个人的方法。
但是,如果您没有任何标签信息,也许可以使用一些专家视图来进行初步的属性选择。在此之后,您可以进行无监督的分类,以便检索标签。最后,你可以选择最重要的领域使用随机森林或其他方法,如贝叶斯信念网络。
为了实现这一切,您还需要完整的数据集。如果您的数据集是松散的,您必须手动或启发式地找到一种方法,将指示相同事物的属性与不同的名称相结合。此外,您还可以使用诸如期望最大化方法之类的计算技术来完成您的数据集。或者,您也可以使用贝叶斯网络,并保留丢失的字段。
发布于 2015-05-22 22:29:22
外面有很多技术。如果您的信息系统附带了一个或多个决策属性,我发现最好的方法是使用基于粗糙集的属性约简。请看强申和理查德·詹森的快速约简算法。
如果您有未标记的数据,请检查主成分分析(PCA)。
https://datascience.stackexchange.com/questions/169
复制相似问题