openrefine, cluster and edit 两个数据集
openrefine, cluster and edit two datasets
我有两个数据集。 A 列具有来自数据集一的 ID,B 列具有我需要使用各种可用算法进行聚类和编辑的数据。数据集 2 在第一列中再次包含 ID,在下一列中包含数据。我需要将仅来自数据集 1 的数据与来自第二个数据集的数据进行协调。到目前为止我所做的是使用一个数据集,合并两个数据集,然后 openrefine,给我混合结果,即仅存在于数据集二中的混乱数据,这不是我想要的,在当前阶段。
我也研究了 Reconcile-csv,但没有成功,无法达到预期的结果。有什么想法吗?
Reconcile-CSV 是一个很好的工具,但不是很友好。您可以使用免费的 Excel 插件 Fuzzy Lookup Add-In for Excel 作为替代。正如这个截屏视频所证明的那样,它非常易于使用。一个约束:要协调的两个 table 必须采用 Excel table 格式(select 和 CTRL + L)。
这是与 reconcile-csv 相同的过程(使用的 GREL 公式是 cell.recon.best.name
,来自 here)
使用 Ettore 描述的协调方法的另一种方法是使用类似于 'key collision' 聚类算法的算法在两个数据集之间创建共享密钥,然后使用它在数据集之间进行查找使用 'cross' 函数。
作为每个数据集中 B 列的示例,您可以 'Add column based on this column' 使用 GREL:
value.fingerprint()
这将创建与 "Fingerprint" 聚类方法使用的相同的键。让我们调用新列 'Column C'
然后您可以在数据集 2 中使用以下 GREL 在两个项目之间查找:
cells["Column C"].cross("Dataset 1","Column C")
如果数据集 1 和数据集 2 中的值都基于指纹集群进行了集群,那么项目之间的查找将起作用
如果效果更好,您还可以使用拼音键控算法在 C 列中创建匹配键。使用这种方法(据我所知)你不能做的是等同于最近邻匹配——你必须有一个具有某种模糊匹配的协调服务,或者合并两个数据集,以实现这个。
欧文
我有两个数据集。 A 列具有来自数据集一的 ID,B 列具有我需要使用各种可用算法进行聚类和编辑的数据。数据集 2 在第一列中再次包含 ID,在下一列中包含数据。我需要将仅来自数据集 1 的数据与来自第二个数据集的数据进行协调。到目前为止我所做的是使用一个数据集,合并两个数据集,然后 openrefine,给我混合结果,即仅存在于数据集二中的混乱数据,这不是我想要的,在当前阶段。
我也研究了 Reconcile-csv,但没有成功,无法达到预期的结果。有什么想法吗?
Reconcile-CSV 是一个很好的工具,但不是很友好。您可以使用免费的 Excel 插件 Fuzzy Lookup Add-In for Excel 作为替代。正如这个截屏视频所证明的那样,它非常易于使用。一个约束:要协调的两个 table 必须采用 Excel table 格式(select 和 CTRL + L)。
这是与 reconcile-csv 相同的过程(使用的 GREL 公式是 cell.recon.best.name
,来自 here)
使用 Ettore 描述的协调方法的另一种方法是使用类似于 'key collision' 聚类算法的算法在两个数据集之间创建共享密钥,然后使用它在数据集之间进行查找使用 'cross' 函数。
作为每个数据集中 B 列的示例,您可以 'Add column based on this column' 使用 GREL:
value.fingerprint()
这将创建与 "Fingerprint" 聚类方法使用的相同的键。让我们调用新列 'Column C'
然后您可以在数据集 2 中使用以下 GREL 在两个项目之间查找:
cells["Column C"].cross("Dataset 1","Column C")
如果数据集 1 和数据集 2 中的值都基于指纹集群进行了集群,那么项目之间的查找将起作用
如果效果更好,您还可以使用拼音键控算法在 C 列中创建匹配键。使用这种方法(据我所知)你不能做的是等同于最近邻匹配——你必须有一个具有某种模糊匹配的协调服务,或者合并两个数据集,以实现这个。
欧文