다음은 데이터 세트에서 미리 지정된 개수의 무작위 순열을 선택하는 예제입니다. 어떻게 remaainder를 사용하여 새 데이터 세트를 만들 수 있습니까? 예를 들어 아래에서 49402 (약 10 %)를 선택하고 UnseenTestdata
이라는 데이터 집합을 만듭니다. 나머지는 testdata
이라는 새 데이터 집합으로 이동합니다.데이터 세트의 나머지 부분을 얻는 방법
pointsToPick = 49402; %# Numbers to pick
rVec = randperm(494021); %# Random permutation of datapoint indices (N=494021 in this case)
UnseenTestdata = fulldata(rVec(1:pointsToPick),:); %# Random sample
Unseentestdata-fulldata = 적절하게 testdata라는 데이터 세트의 나머지.
fulldata 세트의 크기는 494021x6이며, 그 중 fulldata에서 임의로 선택하는 49402x6입니다. 나는 fulldata에서 unseentestdata를 뺀 것을 남겨 둘 필요가있다. 당신이 보이지 않는 화면 덤프에 통지하는 경우
: 그러나 이것이 내가 화면에 결과를 덤프 한 작동하지 않습니다
fulldata = [1 2; 3 4; 5 6; 7 8];
rVec = randperm(4);
pointsToPick=2;
unseen = fulldata(rVec(1:pointsToPick),:);
testdata = fulldata(rVec(pointsToPick:length(rVec)),:);
:
바나바 사볼은의 테스트 케이스 대답을 추가 data = 3,4 및 7,8 그러나 testdata에서 확인하면 7,8 남아 있습니다.
만약 fulldata =
1,2
3,4
5,6
7,8
그리고 우리는이 경우 임의의 두 행을 선택 보이지 않는의 행은 다음과 같습니다
다음row
3,4
7,8
은 어떤 남아 있어야한다 : 그러나
1,2
5,6
예제 테스트에서 나온 화면 덤프에 눈에 띄면 testdata 행이 있습니다 :
7,8
예제 테스트가 작동하지 않는다는 것을 보여줍니다.
여기에 '당신을 돈 setminus 의미? fulldata의 차원을 추가 할 수 있습니까? –
또한 내 대답을 업데이트하고 테스트 케이스를 추가하여 확인했습니다. –
제 답변을 다시 확인해 주셨으면합니다. 죄송합니다. 나는 그 괄호에 딱 들어 맞지 않았습니다. Plus는 나머지 요소의 수와 전체 데이터의 두 번째 차원이 동일하다는 명목상의 지식을 가지고 있기 때문에 테스트 케이스도 업데이트했습니다. –