我有一个列出客户属性的数据集 - 序数、分类和间隔数据的组合。我还获得了数据集中的 5 个最近邻,并且必须对最近邻的算法进行逆向工程。
鉴于数据的复杂性,我对如何计算然后获得距离函数的参数感到非常迷茫。对于这个问题的含糊之处,我提前道歉,但我什至不知道从哪里开始。
我有一个列出客户属性的数据集 - 序数、分类和间隔数据的组合。我还获得了数据集中的 5 个最近邻,并且必须对最近邻的算法进行逆向工程。
鉴于数据的复杂性,我对如何计算然后获得距离函数的参数感到非常迷茫。对于这个问题的含糊之处,我提前道歉,但我什至不知道从哪里开始。
如果我理解正确,根据数据和给定的最近邻居,您需要决定使用什么距离计算来确定最近邻居。似乎不太可能要求您创建一个全新的距离度量,而是探索不同的可接受的距离度量。
如果这是正确的,听起来您需要做的就是使用不同的距离计算递归地运行最近邻,并将结果与提供的最近邻进行比较,以确定哪个度量创建了您获得的 5 个最近邻。
好的,我不太明白你的问题,但我仍在尝试。首先,如果以分类为目标,这取决于您的数据的可分离性这一事实。所以,我建议做一些可视化来了解你的数据。如果你使用 python,你可以使用matplotlib 。
区间数据将是一个问题,但根据数据,您可以假设使用中间值或更好,看看您是否可以在区间之外创建更多特征,例如最小值、最大值等。现在,由于您已经拥有邻居的天赋,您可以在使用任何函数计算相似度之前绘制它们并查看它们的相似度。如果他们确实是邻居,您很可能会观察到他们之间的关系。由于您的目标是分类,并且我假设您没有标签,因此您正在查看无监督分类。聚类应该是第一步,你可以在最近的邻居中使用距离指标通过一些反复试验,您可能会得出您正在查看的距离函数。如果您只是想计算距离函数,最好取一小块数据并尝试对数据和给定的邻居进行一些配对实验。这将更简单、更快。您也可以查看我之前提到的链接来计算成对距离。