查找最相邻项工具
“查找最相邻项”工具根据欧几里德距离,在“数据”流中查找与“查询”流中的每条记录相对应的所选最相邻项。该方法提供了多种查找最相邻项的算法供选择,这些算法具有不同的速度和准确率。默认根据 KD-树算法进行搜索,KD-树算法通常具有良好的速度和准确率。此外,您可以选择使用原始数据进行计算,也可以使用 z-score 标准化(这会使所有字段的均值为 0 ,标准差为 1)或者单位间隔转换(其中每个字段的值范围为 0 到 1)对数据进行标准化。
建议使用此工具时将字段标准化,因为欧几里得距离计算对字段尺度的差异非常敏感(例如,未转换的家庭收入和年龄数据具有非常不同的级别和范围)。鉴于此方法的性质,只能使用数字字段作为输入。此工具使用 R FNN 包。
此工具使用 R 工具。转至选项 > 下载预测工具,并登录到 Alteryx 下载和许可门户以安装 R 和 R 工具使用的包。如需了解详情,请参阅 下载和使用预测工具。
连接输入
此工具接受两个 Alteryx 数据流:
D 锚点:接受“数据”流。此工具在数据流中查找与查询流(Q 输入)中的每条记录相对应的所选数量的最相邻项。
Q 锚点:接受“查询”流。
配置工具
唯一键字段:此工具需要唯一键,以识别查询流和数据流中记录之间的关系。
字段(选择两个或更多):选择要用于构建群集解决方案的数字字段。
标准化字段…:选择此选项可选择通过 z-score 或单元间隔标准化来对字段进行标准化。
z-score标准化:z-score 转换是指从字段的值中减去每个字段的均值,然后除以字段的标准差。这会产生一个均值为 0,标准差为 1 的新字段。
单位间隔标准化:单位间隔转换是指从字段值中减去字段的最小值,然后除以字段的最大值和最小值之间的差值。这会产生一个值范围从 0 到 1 的新字段。k 最相邻项计算对数据的数量级非常敏感,当一个字段与另一个字段的数量级相差很大时尤为如此。因此,应该考虑对数据进行缩放。
要查找的相邻项目数量:默认(和最小)数量是 1 个(最近)相邻项。最大数量是 100。
用于查找最相邻项的算法:各方法具有不同的计算时间和准确率。默认算法是 KD-树,它通常具有良好的计算时间和准确率。线性搜索可确保找到真正的最相邻项,但计算成本非常高。选择以下算法之一:
查看输出
N 锚点:包含一个表格,该表格给出了查询流中每个点的唯一键值和与所需近邻数量的距离(由查询流中每条记录的唯一键标识)。如果所需近邻数量为 2,唯一键字段名称为 ID,则此输出数据流中含有以下字段:ID、ID_1(最近邻的唯一键)、Dist_1(到最近邻的欧几里得距离)、ID_2(第二近邻的唯一键)和 Dist_2(到第二近邻的欧几里得距离)。
M 锚点:为所有数据流和查询流中的记录,提供唯一键字段、标准化数据值以及记录是否在数据流或查询流中的指示符(__Type__ 字段)。
*en.wikipedia.org/wiki/Cover_tree
***Venables, W. N. and Ripley, B. D. (2002), Modern Applied Statistics with S, 4th ed., Springer, Berlin.