Machine learning SAS中的k最近邻:如何获取每行的邻居列表?
目前,我正在SAS中使用proc discrim对数据集运行kNN分析,但问题可能需要我获取表中每行的前k个邻居列表,因此如何从SAS获取此列表Machine learning SAS中的k最近邻:如何获取每行的邻居列表?,machine-learning,sas,bigdata,nearest-neighbor,knn,Machine Learning,Sas,Bigdata,Nearest Neighbor,Knn,目前,我正在SAS中使用proc discrim对数据集运行kNN分析,但问题可能需要我获取表中每行的前k个邻居列表,因此如何从SAS获取此列表 感谢您的回答,但我正在查找每个数据点的邻居列表,例如,如果我获得了数据集: 姓名年龄zipcode酒精 约翰2608439是的 凯西4947789号 史密斯3790897号 汤姆3488642是的 然后我需要一份清单: 命名邻居1邻居2 约翰·汤姆·凯西 凯西·汤姆·史密斯 史密斯·凯西·汤姆 汤姆·约翰·凯西 我无法从SAS中找到此输出,是否有什么可
感谢您的回答,但我正在查找每个数据点的邻居列表,例如,如果我获得了数据集: 姓名年龄zipcode酒精 约翰2608439是的 凯西4947789号 史密斯3790897号 汤姆3488642是的 然后我需要一份清单: 命名邻居1邻居2 约翰·汤姆·凯西 凯西·汤姆·史密斯 史密斯·凯西·汤姆 汤姆·约翰·凯西
我无法从SAS中找到此输出,是否有什么可以编程以获取此列表?谢谢大家! 我不是SAS用户,但快速浏览网页似乎可以很好地回答您的问题: 据我所知,你不必自己实施。DISCRIM就足够了 虹膜数据源代码 此处还提供了详细的详细说明: 来自sas社区: 只需使用选项“method=NPAR K=”让PROC DISCRIM使用非参数方法即可。请注意,不要同时使用“R=”选项,该选项对应于基于半径的最近邻法。还要注意PROC DISCRIM如何自动处理分类数据。有时,您可能需要提前将分类数据更改为度量坐标。由于PROC DISCRIM不输出它在内部构建的树,因此使用“data=test=testout=”选项对新数据集进行评分
我不是SAS用户,但快速浏览网页似乎可以很好地回答您的问题: 据我所知,你不必自己实施。DISCRIM就足够了 虹膜数据源代码 此处还提供了详细的详细说明: 来自sas社区: 只需使用选项“method=NPAR K=”让PROC DISCRIM使用非参数方法即可。请注意,不要同时使用“R=”选项,该选项对应于基于半径的最近邻法。还要注意PROC DISCRIM如何自动处理分类数据。有时,您可能需要提前将分类数据更改为度量坐标。由于PROC DISCRIM不输出它在内部构建的树,因此使用“data=test=testout=”选项对新数据集进行评分
感谢您的回答,但我正在查找每个数据点的邻居列表,例如,如果我获得了数据集:此处询问了一个类似的问题:感谢您的回答,但我正在查找每个数据点的邻居列表,例如,如果我获得了数据集:此处询问了一个类似的问题:
ods select none;
proc surveyselect data=iris out=iris2
samprate=0.5 method=srs outall;
run;
ods select all;
%let k=5;
proc discrim data=iris2(where=(selected=1))
test=iris2(where=(selected=0))
testout=iris2testout
method=NPAR k=&k
listerr crosslisterr;
class Species;
var SepalLength SepalWidth PetalLength PetalWidth;
title2 'Using KNN on Iris Data';
run;