KNN 방법에서 거리 측정에 대한 가중치 세트를 식별하고 싶습니다. 나는 MATLAB의 도움을 통해 읽고 나는 그러나 역에 대한 기능이나 제곱 역 (거리를 WRT) 무게 사용자 정의 무게 형태의 함수해야 있다는 것을 발견 : FNC @matlab에 KNN에 대한 가중치를 정의
FCN은 어디 함수는 음수가 아닌 거리의 행렬을 받아들이고 음수가 아닌 거리 가중치를 포함하는 동일한 크기의 행렬을 반환합니다. 예를 들어 'inversesquared'는 @ (d) d.^(- 2)와 같습니다.
나는 무게의 임의의 집합을 제공하는 기능을 정의했다 : 나는 KNN를 적용 할 때
그러나function WGT=gene
weights=round(rand(a,b))
WGT=T
end
, 가중치가 변경되지 않습니다를 동등하게 분배됩니다. 아무도이 문제를 도와 드릴 수 있습니다. 미리 감사합니다.
하이 맥스를 지정할 수 있습니다 생각 답장을 보내 주셔서 감사합니다. 내 피팅 코드는 (fitness = ClassificationKNN.fit (train_attribute, train_class, 'Numneighbors', 4, 'distanceweight', @ gene_weights)이며 동일한 가중치 집합을 생성합니다. 나는 "@"을 제거하고 주 프로그램에 기능을 추가했지만 함수에 입력하지 않은 것처럼 가중치는 동일합니다. – IRIS
안녕하세요. 나는 범주 형 데이터 집합을 가지고 있는데, 그 범주 형 데이터 집합에 해당 코드를 사용할 수 있습니까? 감사 –