私は2つのデータを持っています。fulldata
1 つは49625x6 の数値データのデータセットである実際のもので、もう 1 つは 49625x1 という名前の target_class を持つそのデータのインデックスBook2
です。
Book2 には、fulldata データセット エントリと一致するように何度も繰り返される 6 つの名前 (文字列) があります。Book2 を使用して、1000 サンプルの 25% が「青」で 75% が「赤」である fulldata から 1,000 サンプルを取得し、これを という名前の新しいサブサンプルに含めsampledata
ます。
MATLAB でこれを達成するにはどうすればよいですか?
疑似コード:
Book2 から 250 の青のサンプルを選択します。250 のランダムな「青」のサンプルを「選択」する方法がわからないか、わかり
bluesample = indX(Book2, :)
ませBook2(indX, :)
ん。
Book2 から 750 の赤のサンプルを選択します。ここでも、750 のランダムな「赤」のサンプルを「選択」する方法がわからないか、ここでもわかり
redsample = indX(Book2, ;)
ませBook2(indX, :)
ん。
青と赤のサンプルをサブサンプルに結合します。
subsample = join(bluesample, redsample)
subsample のインデックスを見つけて、fulldata から sampledata を作成します。
sampledata = subsample(indX(fulldata), :) This line is probably wrong
これは、2 つのデータセットのイメージです。
Book2 の各行は、fulldata の行と一致します。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.