To make vector compatible to matrix.
2 views (last 30 days)
Show older comments
tejasvee
on 20 Apr 2017
Answered: Walter Roberson
on 3 May 2019
I have code for disease prediction in which It is equation w = (H'*H+l1*eye(nh,nh))\(H'*Data.y);in which data.y is not compatible for matrix multiplication. As it is vector of labels, either regression or classification labels (+1,-1) so i converted it to matrix by using Data.y=vec2mat(Data.y,297) to make it compatible but again there is same error of inner matrix dimension. What should i do to make it compatible.It is in trainRELM.m . trainRELM is function which is called in main.m I have attched the code and dataset.
0 Comments
Accepted Answer
Roger Stafford
on 20 Apr 2017
If Data.y is a vector, to make the matrix multiplication H'*Data.y valid, it must be a column vector with the same number of elements as there are columns in H’. That is, size(Data.y) must equal [size(H’,2),1].
2 Comments
Roger Stafford
on 20 Apr 2017
Edited: Jan
on 20 Apr 2017
No, I didn’t say that. What I have said is that size(Data.y) must equal [size(H’,2),1]. That means that Data.y must have the same number of rows as H’ has columns. Otherwise the expression H'*Data.y will be invalid. Check the site
I also stated that Data.y should have one column because earlier you said that it was a vector. For the purpose of making the above multiplication valid it can actually have any number of columns.
More Answers (1)
Walter Roberson
on 3 May 2019
y is read from columns O P Q R S of the csv file. Those columns are all empty in the supplied csv file so requesting them would temporarily fill them with NaN. If you were using xlsread it would trim away all leading and trailing rows and columns that are all nan which would leave you with emptiness. With csvread it will probably return a 240 x 5 column of nan. However as Roger explained the code can only work when y is a column vector - in this case a column vector with 240 rows .
In the larger scheme even if the number of rows and columns were correct your target information would all be nan and it is not possible to train your classes when you do not have target information.
0 Comments
See Also
Categories
Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!