Hello , i'm trying to split my data that has 392 row and 9 colums into 5 train and test datas to do a cross validation on an ANFIS
since i just want to do it on my dataset i thought about creating
traindata1= the rows from 1 to 312 and testdata1 = from 312 to 392
traindata 2 = rows from .....
is there any function to do it automatically , if no how to copy a certain number of rows to a table ?

 채택된 답변

the cyclist
the cyclist 2022년 5월 21일

0 개 추천

You can use the cvpartition function to do this, if you have the Statistics and Machine Learning Toolbox.
If you don't have that toolbox, you might want to use randperm instead of just choosing the first rows for training, and the rest for testing, in case the order of the data in your dataset is not already random.

댓글 수: 3

i'll look for it thank you , and about the question on how to copy X rows of a table into another one please ?
You can copy from one matrix to another by indexing in.
M = [ 2 3;
5 7;
11 13;
17 19;
23 29];
M1 = M([1,3],:)
M2 = M([2,4,5],:)
You might want to watch the MATLAB Onramp tutorial for basics like this.
ok thank you

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Statistics and Machine Learning Toolbox에 대해 자세히 알아보기

제품

릴리스

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by