Данные выборки в MATLAB

У меня есть две части данных. Один фактическийfulldata который представляет собой набор данных с числовыми данными 49625x6, а другой - это индекс этих данных с именем target_classBook2 который 49625x1.

Book2 имеет шесть имен (строк), повторяемых снова и снова, чтобы соответствовать записям набора данных fulldata. Я хочу взять 1000 образцов из полных данных, из которых 25% из 1000 образцов "синий» и 75%красный» используя Book2, затем содержите это в новом подобразце с именем.sampledata

Как я могу добиться этого в MATLAB?

Псевдокод:

Выберите 250 образцов синего цвета из Book2, не знаете, каквыбирать" 250 случайных "синий» образцыbluesample = indX(Book2, :) или жеBook2(indX, :) Точно сказать не могу.

Выберите 750 красных образцов из Book2, снова не знаете, каквыбирать" 750 случайных "красный» образцыredsample = indX(Book2, ;) или жеBook2(indX, :) опять не уверен здесь.

Объедините синие и красные образцы в подвыборку.

subsample = join(bluesample, redsample)

Найдите индексы подвыборки и создайте выборку из полных данных:

sampledata = subsample(indX(fulldata), :) This line is probably wrong

Это изображение двух наборов данных:

Каждая строка в Book2 соответствует строке в полных данных. Я пытаюсь добиться возможности выбрать определенное количествонормальный" и определенное количествоне нормально" (да, я знаю, что они не имеют точного названия) данные из полных данных, использующих Book2, поскольку Book2 - это индексы полных данных и содержит метки классов.

Таким образом, с точки зрения моего набора данных это можно сказать проще:

Choose 250 random samples of the string "normal." from Book2 and log the row number.
Choose 750 random samples of the string "not normal." from Book2 and log the row number.
Combine the two random samples of row numbers together.
Make a new dataset (1000x6) using the combined row numbers (above) of fulldata.

Ответы на вопрос(1)

Ваш ответ на вопрос