我想解决预测房价的问题(https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data)
如何在Octave中将字符串数据转换为数值数据?
回答:
链接需要付费,但其标题提到了“分类”一词,所以我假设你所说的“数值”是指整数标签,而不是将表示数字的字符串解析为其等效的浮点数。
考虑到这一点,以下是通常的表示方法。
Indices = [ 1,2,3,2,3,2,1,2,1,2,3,1,3,3,1 ];Labels = { 'class1', 'class2', 'class3' };
真的就这么简单。如果你真的想让这成为一个单一的“变量”,你可以将其收集到一个结构体中:
MyCategoricalVariable = struct( 'indices', Indices, 'labels', Labels );
显然,这取决于数据最初是如何提供给你的。如果你得到的是字符串而不是标签,你可以像这样将其转换为索引/标签对:
Data = { 'a', 'b', 'c', 'c', 'b', 'c', 'b', 'a', 'a', 'a', 'b' };Labels = unique( Data );[~, Indices] = ismember( Data, Labels )