gpt4 book ai didi

matlab - 如何定义KNN的权重?

转载 作者:行者123 更新时间:2023-11-30 09:23:52 25 4
gpt4 key购买 nike

我想确定 KNN 方法中距离度量的一组权重。我通读了 MATLAB 帮助,发现有反函数或平方反函数(与距离有关)权重,但是用户定义的权重必须是以下形式的函数:@ fnc哪里

fcn is a function that accepts a matrix of nonnegative distances, and returns a matrix the same size containing nonnegative distance weights. For example, inversesquared is equivalent to @(d)d.^(-2).

我定义了函数来提供一组随机权重:

function WGT=gene 
weights=round(rand(a,b))
WGT=T
end

但是,当我应用 KNN 时,权重不会改变并且均匀分布。

最佳答案

您的拟合代码是否类似于 ClassificationKNN.fit(x, y, 'DistanceWeight',gene_weights)?例如,我认为你上面的意思是

function w = gene_weights(x)
w = round(rand(size(x)));
end

或者更紧凑,您可以只指定 gene_weights = @(x) round(rand(size(x)));

关于matlab - 如何定义KNN的权重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19428421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com