Onehotencode function is giving more columns which are filled with zeros than the number of categories.
1 view (last 30 days)
Show older comments
Yagiz Dereboy
on 9 Sep 2021
Answered: Yagiz Dereboy
on 11 Sep 2021
a = readtable("mushrooms.csv");
aa = categorical(table2array(a));
b = onehotencode(aa(:,1),2);
first column has 2 categories but function creates 23 columns. Which is also the total number of columns in variable a. Also other variables behave the same too and seemingly 2 spesific column in each onehotencoded variable has the true onehotencoded variables. Can you help me please?
0 Comments
Accepted Answer
Mohammad Sami
on 10 Sep 2021
Because you are converting the entire matrix in to a categorical matrix, the categories for the entire matrix are common. If you want to have different categories for each column. you will have to convert each columm to caterogical separately.
a = repmat(1:10,10,1);
b = categorical(a)
categories(b(:,1))
c = array2table(a);
c = varfun(@categorical,c)
categories(c{:,1})
0 Comments
More Answers (1)
See Also
Categories
Find more on Image Data Workflows 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!