1
我想爲KNN方法中的距離度量標識一組權重。我通過MATLAB的幫助閱讀,我發現有對反函數或平方倒數(WRT的距離)的權重然而用戶定義的權重必須是形式的函數:@ FNC 其中在matlab中定義KNN的權重
FCN是函數接受非負距離矩陣,並返回包含非負距離權重的相同大小的矩陣。例如,'逆向'相當於@(d)d。^( - 2)。
我已經定義的函數提供一組隨機權重:
function WGT=gene
weights=round(rand(a,b))
WGT=T
end
然而,當我申請KNN的權重不會改變,均勻分佈。 任何人都可以幫助解決這個問題。 預先感謝您
嗨馬克斯,謝謝您的回覆。我的擬合代碼是(fitness = ClassificationKNN.fit(train_attribute,train_class,'Numneighbors',4,'distanceweight',@ gene_weights)),它產生一組相同的權重。我刪除了「@」並將函數添加到主程序中,但權重仍然相同,就好像它沒有輸入函數一樣。 – IRIS
你好。我有分類數據集,我可以使用我的分類數據集的代碼?謝謝 –