使用类别作为特征的线性回归

我正在尝试构建一个线性回归模型,但我的某些特征不是数值型的,例如“汽车颜色”,而其他特征是数值型的,例如“发动机尺寸”。对于非数值型的情况,我不确定如何在添加为输入特征时表示它们。我能想到的唯一方法是用不同的数值来表示每种颜色,例如(红色=1,蓝色=2,绿色=3…),然而这似乎不可接受,因为这意味着绿色比红色“更好”。

有谁能帮帮我…我是在Java中实现这个的,所以我希望能得到用这种语言表达的算法,或者是语言无关的算法。


回答:

一种方法是使用虚拟编码,另一种技术是效果编码

请参考这篇文章以获取更多细节,我认为作者的解释比我在这里能做的更好。

回归模型中类别变量的编码:Resmi Gupta的虚拟编码和效果编码

我猜这个解决方案会属于你的语言无关类别 😉

要编码汽车颜色(我假设汽车颜色只能取3个值:红色,蓝色,绿色)

你可以按以下方式编码:

颜色  虚拟变量一  虚拟变量二红色     1             0蓝色     0             1绿色     0             0 

在上表中,绿色将成为参考级别。在你的情况下,如果你的颜色取n个值,你将需要包含n-1个虚拟变量。

在Java中的实现可以在Weka过滤器NominalToBinary中找到,尽管这会为n个类别创建n个变量。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注