Plotting higher-dimensional data in two-dimensions which has already processed using supervised learning

조회 수: 4 (최근 30일)
Hello,
So here is the challenge I am currently facing:
I have 100 points of five-dimensional data with 100 associated outcome measures (which are binary). I was able to determine well-fitting logistic regression coefficients where the logit transform exp(g(x))/(exp(g(x))+1) contains the generalized linear model g(x) = ax1+bx2+cx3+dx4+ex5+constant. The regression model was scaled to yield an output (risk) between 0 and 1.
With all of this in mind, I am looking for a way to plot the results on a 2D plot, perhaps using the output from the regression model (risk) as a color-code.
What I have tried so far: 1. Using PCA biplot vector to denote rate of increase (slope) of regression output (risk) based on each particular variable. This was a perfect idea except MATLAB's contouring requires a full-matrix of data and all I have are two PCA components with associated regression output (three vectors). 2. MDS for colorwashing but I would like to somehow include the magnitude of the contribution of each variable in the plot (something which, to my knowledge, MDS does not provide)
Thanks

채택된 답변

Christopher Berry
Christopher Berry 2014년 8월 11일
편집: Christopher Berry 2014년 8월 11일
James,
I think what you might be looking for is scatter coupled with specifying the MarkerColor as a vector corresponding to your linear regression output, g.
Let me show you what I mean using the example data from the biplot documentation (its also 5-dimensional data):
load carsmall
x = [Acceleration Displacement Horsepower MPG Weight];
x = x(all(~isnan(x),2),:);
[coefs,score] = pca(zscore(x));
Now, instead of using biplot, use scatter. The vector g would be the output of your regression model, but here I will just use a dummy vector the same length as my data.
s = 40; %Size of markers, can be a vector or a constant
g = linspace(1,10,length(coefs(:,1))); %Just a dummy g
scatter(coefs(:,1),coefs(:,2),s,g,'fill')
colorbar
You can also do something similar using the MarkerSize vector s, or scale both size and color simultaneously.
Also, this example is for plotting just the first 2 principal components, but if you want to visualize the first 3 principal components, you can use scatter3 and the same workflow described above.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Dimensionality Reduction and Feature Extraction에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by