geneating high dimensioal banana shaped data sets or any artificial data sets
2 次查看(过去 30 天)
显示 更早的评论
hi i do need to generate high dimensional banana shaped data sets in my thesis , actually i need to evaluate my classification algorithm with different type of artificial data sets in high dimensional space (for example 20D ), my prof has demanded me to generate 20D banana shaped data sets, in two classes which have no overlapping but are distributed in each other like the image below
<<

>> I have no clue how to do this, is there any one who can help me kindly?
thanks in advance
0 个评论
回答(2 个)
John D'Errico
2015-7-13
You need to decide what it means to have that shape. In a high number of dimensions, there are a huge number of possible "banana-like" shapes.
Start with a simple Gaussian set of data, in the appropriate number of dimensions. Then transform it.
Image Analyst
2015-7-13
Like this, for one example in 3D:
numPoints = 1000;
z = rand(1,numPoints);
x = 0.07 * rand(1,numPoints) + 0.5;
y = 0.08 * rand(1,numPoints);
% Make Z follow a quadratic
stretchFactor = -4*(z-0.5).^2+0.5;
x = x .* stretchFactor;
scatter3(x,y,z, '.');
xlabel('X', 'FontSize', fontSize);
ylabel('Y', 'FontSize', fontSize);
zlabel('Z', 'FontSize', fontSize);
xlim([0,1]);
ylim([0,1]);
zlim([0,1]);

另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!