2012-12-20 97 views
0

我有一个运行KNN分析的proc判断语句。当我设置k = 1时,它将一切分配给一个类别(如预期的那样)。但是,当k> 1时,它会留下一些未指定的观察值(将类别设置为其他)。如何使用SAS中的Proc Discrim for KNN处理死锁?

我假设这是两个或多个类别的死锁票的结果。我知道通过随机选择一个僵持的选票作为答案,或者采取离得最近的僵持选票作为答案的办法可以解决这个问题。

此功能是否可用于proc判别?你如何告诉它如何处理死锁?

干杯!

回答

1

当最近邻居的数目是两个或更多时,假设将观察值赋给“其他”类的结果来自赋予两个或更多指定类的相同概率。您可以通过指定PROC DISCRIM语句选项OUT = SASdsn来编写一个SAS输出数据集,以了解过程对输入观察值的分类程度。该输出数据集包含分配给每个指定类的概率。例如,对虹膜数据集使用两个最近的邻居(K = 2)会得出五个观察值,该过程将其分类为不明确的,对于分配到Versicolor或Virginica类的概率为0.50。从输出数据集中,您可以选择这些不明确分类的观测值,并在随后的DATA步骤中随机分配这些类别。或者,您可以比较用于将这些模糊分类的观测值分类的变量的值与每个类别的这些值的平均值进行比较,可能是通过计算每个值的标准偏差标准化的平方距离+/-和分配观察到“最接近”的班级。

+0

感谢您的支持,在单独的数据步骤中处理它是个不错的主意。很高兴知道那里没有我错过的选项。 – Ger