分享

Spark mllib数据怎么转换的问题

guxingyu 发表于 2017-3-31 15:28:16 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 6587
如题:Spark mllib在做模型训练的时候,数据一般都是 double型的,而我们大多数的数据都是String 举例说明: 比如我现在要用贝叶斯模型
我的数据全是
性别     头发     声音      高矮
男         短       豪放      高
女        长        温和     矮

我怎么样将上面的数据转换成  spark mllib 里面所需要的 double型了,谁有办法?

已有(4)人评论

跳转到指定楼层
easthome001 发表于 2017-3-31 16:20:48
个人为机器学习都是将事情转换为数字,计算机也是只认数字。

性别     头发     声音      高矮
男         短       豪放      高
女        长        温和     矮
如:男为1,女为0。当然你也可以表示为double型都是一个道理的


回复

使用道具 举报

guxingyu 发表于 2017-3-31 16:23:51
easthome001 发表于 2017-3-31 16:20
个人为机器学习都是将事情转换为数字,计算机也是只认数字。

如:男为1,女为0。当然你也可以表示为doub ...

这个枚举特征少还可以,多了就不适用了,有没有别的办法,一次性转换成数字
回复

使用道具 举报

atsky123 发表于 2017-3-31 17:14:23
guxingyu 发表于 2017-3-31 16:23
这个枚举特征少还可以,多了就不适用了,有没有别的办法,一次性转换成数字

机器学习首先要选模型,比如MLlib包括分类、回归、聚类、协同过滤、降维等,所以需要先选择这些,然后在这些的基础上,在进一步处理。而不是每一个都需要有有对应的数字。建议楼主先对上面的模型有一个基本的认识。问题就解决了
回复

使用道具 举报

nextuser 发表于 2017-4-1 07:38:55
本帖最后由 nextuser 于 2017-4-1 07:39 编辑

机器学习的核心是算法。基本我们处理的事件都需要转换为数字。有的是以事件为分类。比如楼主的题目:需要背景。
比如女孩子中意的对象。
我们需要根据提供的元素,来决定是中意,还是不中意。
中意为1
不中意为0.
喜欢什么样的那?
肯定是男的为1
喜欢高的为1
其它的比如短发为1
等等
性别     头发     声音      高矮
男         短       豪放      高
女        长        温和     矮

其实这个也是有背景的。然后带入我们的公式,得出是喜欢还是不喜欢。
下面的例子跟楼主相似,推荐参考
Spark朴素贝叶斯(naiveBayes)
http://www.aboutyun.com/thread-12853-1-1.html

上面是讲元素转换为数字,其实有的是将事件为数字。关键还是问题的背景是什么?你想得出什么样的结果。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条