微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何对具有字符串值的数据使用梯度下降?

如何解决如何对具有字符串值的数据使用梯度下降?

我想解决预测房价问题 (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 )
,

字符串数据有两种可能

  1. 只需一两个词,test 的值不会改变(即对于一列,它将采用文本的固定值),然后您可以使用标签。这将解决您的问题。
  2. 如果您有可以取任何值且长度不固定的列,您可以先进行 TF-IDF 并基于它来训练您的模型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。