分享

如何使用MapReduce来完成归一化

Hedera 发表于 2015-1-29 17:18:07 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 8 20586
我有一个txt文件如下:

11
31
22
87
34
21

现在,我想用MapReduce来将txt中的数学全部变成0-1之间,我的做法如下:
先在map中找出最大最小值:max,min(这两个值存放在包含map和reduce的那个类,且max,min为静态类型)

然后在reduce中进行如下操作:
(key-max)/(max-min)

但最终输出的都不是我要的结果,请问我的思路有错吗?

已有(8)人评论

跳转到指定楼层
Hedera 发表于 2015-1-29 17:18:49
自己顶一下,求助大神
回复

使用道具 举报

desehawk 发表于 2015-1-29 18:12:26
本帖最后由 desehawk 于 2015-1-29 18:20 编辑
Hedera 发表于 2015-1-29 17:18
自己顶一下,求助大神



按照这个思路:
if(key%2==0);
{
输出0
}
else
{
输出1
}

回复

使用道具 举报

Hedera 发表于 2015-1-29 18:15:20
回复

使用道具 举报

desehawk 发表于 2015-1-29 18:21:25
Hedera 发表于 2015-1-29 18:15
这是什么意思啊?求说详细

把这个思路
(key-max)/(max-min)
换成这个
if(key%2==0);
{
输出0
}
else
{
输出1
}
意思是如果是偶数就输出0,奇数输出1,这样就达到了0,1

回复

使用道具 举报

Hedera 发表于 2015-1-29 21:39:03
desehawk 发表于 2015-1-29 18:21
把这个思路
(key-max)/(max-min)
换成这个

我说的归一化是把原来的整数变成相应的小数哈。刚把问题解决了,是由于combinner的原因。多谢了哈
回复

使用道具 举报

bioger_hit 发表于 2015-1-30 00:27:38
Hedera 发表于 2015-1-29 21:39
我说的归一化是把原来的整数变成相应的小数哈。刚把问题解决了,是由于combinner的原因。多谢了哈

楼主是怎么解决的,说说看
回复

使用道具 举报

Hedera 发表于 2015-1-30 14:07:40
bioger_hit 发表于 2015-1-30 00:27
楼主是怎么解决的,说说看

今年被演示的时候被否决了。我是直接使用map来找出最大最小值,然后在reduce中进行归一化操作:(x-main)/(max-min)。
看来又要寻找新方案了。
回复

使用道具 举报

leegh1992 发表于 2015-12-20 18:33:18
楼主你是怎么解决的呀?
回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条