如何解决如何对具有字符串值的数据使用梯度下降?
我想解决预测房价问题 (https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data)
如何在 Octave 中将字符串数据转换为数值数据?
解决方法
该链接是收费的,但它的标题提到了“分类”这个词,所以我假设“数字”是指整数标签,而不是将表示数字的字符串解析为它的等效浮点数。
考虑到这一点,下面是一种典型的表示方式。
Indices = [ 1,2,3,1,1 ];
Labels = { 'class1','class2','class3' };
其实就是这么简单。如果你真的希望这是一个单一的“变量”,你可以将它收集到一个结构中:
MyCategoricalVariable = struct( 'indices',Indices,'labels',Labels );
显然,这首先取决于数据是如何提供给您的。如果给定的是字符串而不是标签,则可以将其转换为索引/标签对,如下所示:
Data = { 'a','b','c','a','b' };
Labels = unique( Data );
[~,Indices] = ismember( Data,Labels )
,
字符串数据有两种可能
- 只需一两个词,test 的值不会改变(即对于一列,它将采用文本的固定值),然后您可以使用标签。这将解决您的问题。
- 如果您有可以取任何值且长度不固定的列,您可以先进行 TF-IDF 并基于它来训练您的模型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。