Generate three datasets with given details

3 views (last 30 days)
Zuzanna
Zuzanna on 17 Jan 2023
Edited: Rajeev on 20 Jan 2023
Hi,
I need to perform such action:
  1. Generate three datasets (data, dataB and dataC), every one containing two features and two classes (0 and 1) with 100 points for each class. Draw the data from random distributions with the following parameters:
  2. a. DataA: class 0: mean = 0, standard deviation = 1, class 1: mean = 3 standard deviation = 0.5
  3. b. DataB: class 0: mean = 0, standard deviation = 1, class 1: mean = 2 standard deviation = 1
  4. c. DataC: class 0: mean = 0, standard deviation = 1, class 1: mean = 1 standard deviation = 2
Is this code is relevant to the task?
% Data A
Class0=randn(100,2);
label_0=zeros(100,1);
Class1=0.5*randn(100,2)+3
label_1=ones(100,1)
data_a=[[Class0, label_0];[Class1, label_1]]
% Data B
Class0=randn(100,2);
label_0=zeros(100,1);
Class1=1*randn(100,2)+2
label_1=ones(100,1)
data_b=[[Class0, label_0];[Class1, label_1]]
% Data C
Class0=randn(100,2);
label_0=zeros(100,1);
Class1=2*randn(100,2)+1
label_1=ones(100,1)
data_c=[[Class0, label_0];[Class1, label_1]]

Answers (1)

Rajeev
Rajeev on 20 Jan 2023
Edited: Rajeev on 20 Jan 2023
This code is correct if you want to generate data with the required metrics.
You can verify the results by using the "mean" and "std" functions to find the average and the standard deviation of the data.
One thing to note: For less number of observations, the mean and standard deviation will be farther to the expected values. As you increase the sample size, for example from 100 to 1000, the mean and standard deviation of the data will approach the true values.
Documentation links:

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!