0
1과 2의 행렬을가집니다. 나는 무작위로 (교체하지 않고) 지정된 가중치로 2 행을 샘플링하려고합니다. 이것은 내가 여기서 한 짓이다. (내 생각?) :Matlab은 임의로 가중치가있는 행을 샘플링합니다.
x = [1 1 1 2 1; 1 2 1 1 1; 1 1 1 1 1; 1 2 2 1 2; 1 2 2 1 1];
w1 = 1; % weight of ones
w2 = 4; % weight of twos
sum_wts = sum(w1.*(x==1),2) + sum(w2.*(x==2),2); %normalise weights
norm_weights = sum_wts./sum(sum_wts);
row_ind = randsample([1:size(x,1)], 2, true, norm_weights); %take random sample
new_x = x(row_ind,:);
2 개에 주어진 가중치를 더하고 싶습니다. 예를 들어, 3 개의 2가 들어간 행은 2 개의 2가 포함 된 행과 비교하여 선택 될 가능성이 큽니다. 내가 여기서 한 짓 이니? 이 작업을 올바르게 수행했는지 확인할 방법이 확실하지 않습니다 ...
대 :
여기에 코드입니다! 고마워. – user2861089