机器学习中的名义价值数据集

时间:2015-06-21 14:34:20

标签: machine-learning data-mining

使用名义价值而不是真实价值或布尔价值的最佳方法是什么?它包含在机器学习的特征向量子集中?

我应该将每个名义值映射到实际值吗?

例如,如果我想让我的程序为输入功能可能包含的web服务用户学习预测模型

{gender(boolean),age(real),job(nominal)}

其中因变量可以是网站登录的数量。

变量作业可能是

之一

{PROGRAMMER,ARTIST,CIVIL SERVANT ......}。

我应该将PROGRAMMER映射到0,将ARTIST映射到1等等吗?

2 个答案:

答案 0 :(得分:1)

进行单热编码,如果有的话。

如果您的数据具有分类属性,建议使用可以很好地处理此类数据的算法,而不需要编码,例如决策树和随机森林。

答案 1 :(得分:0)

如果您阅读了名为“使用Spark进行机器学习”的书,那么作者 写道,

分类功能

分类要素不能用作原始形式的输入,因为它们不是 数;相反,它们是变量可以采用的一组可能值的成员。在前面提到的示例中,用户占用是一个分类变量,可以取得学生,程序员等的价值。

要将分类变量转换为数字表示,我们可以使用a 常见的方法称为1-of-k编码。一种方法,例如1-of-k编码 需要以对机器有意义的方式表示名义变量 学习任务。序数变量可能以原始形式使用,但通常是 以与名义变量相同的方式编码。

我有同样的想法。

我认为如果有一个有意义的(精心设计的)转换函数将分类(标称)映射到实际值,我也可以使用只采用数值向量的学习算法。

实际上我做过一些我不得不这样做的项目 关于学习系统的表现没有提出任何问题。

对投票反对我的问题的人, 请取消您的评估。