楼主: 不准反悔
2060 5

[有偿编程] 求问R语言实现SOM神经网络 [推广有奖]

  • 0关注
  • 0粉丝

初中生

90%

还不是VIP/贵宾

-

威望
0
论坛币
688 个
通用积分
1.0000
学术水平
0 点
热心指数
5 点
信用等级
0 点
经验
178 点
帖子
9
精华
0
在线时间
25 小时
注册时间
2016-12-24
最后登录
2021-12-26

50论坛币
想请教一下如何使用R语言进行SOM自组织映射,以及SOM的结果怎么解释,感激不尽!

最佳答案

katymeala 查看完整内容

如果你了解算法的话就知道,xdim和ydim是定义空间格局的,乘为"某一你事先认为的合理cluster个数",并没有严格的标准。 上回答中的cl就是最终每行的分类结果
关键词:SOM神经网络 神经网络 SOM R语言 神经网
沙发
katymeala 发表于 2019-8-20 08:32:45 |只看作者 |坛友微信交流群
不准反悔 发表于 2019-8-21 07:19
大佬我想问下,xdim和ydim是怎么确定?还有最终的cluster结果就是直接能出来每一行所属的类别吗?
如果你了解算法的话就知道,xdim和ydim是定义空间格局的,乘为"某一你事先认为的合理cluster个数",并没有严格的标准。
上回答中的cl就是最终每行的分类结果

使用道具

藤椅
katymeala 发表于 2019-8-21 03:36:39 |只看作者 |坛友微信交流群
library(som)

#用法
foo<-som(data,xdim=4,ydim=3)
重要参数三个:
                     data就是observations*variables
                     xdim-map结构的第一个维度
                     ydim-map结构的第二个维度 (xdim*ydim就是总共的node个数,比如这里4*3=12,就是12nodes)
                     其他还有很多参数,了解下算法,就知道了

#取最终的cluster结果
cl<-foo$visual$x+1+foo$visual$y*4
           这里$visual是data每一行落在哪个node(x-y)上及与此node的欧式距离(QE)
           坐标(x,y)这个点是从code的第x+1+y*xdim行取的 即code的行按照00 10 20 [xdim-1]0... 01 11 21 ... 这样的顺序
           第x+1+y*xdim个点变成了坐标(x,y)
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 30 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 30  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

板凳
不准反悔 发表于 2019-8-21 07:19:22 |只看作者 |坛友微信交流群
katymeala 发表于 2019-8-21 03:36
library(som)

#用法
大佬我想问下,xdim和ydim是怎么确定?还有最终的cluster结果就是直接能出来每一行所属的类别吗?

使用道具

报纸
不准反悔 发表于 2019-8-22 08:59:34 |只看作者 |坛友微信交流群
不准反悔 发表于 2019-8-21 07:19
大佬我想问下,xdim和ydim是怎么确定?还有最终的cluster结果就是直接能出来每一行所属的类别吗?
感谢大佬,但是som包的函数真的感觉有点简陋,而且可视化有些差,那如果我事先认为应该分成三类,那xdim*ydim=3即可对吗?3*1或者1*3都行吧?

使用道具

地板
ghkfq 发表于 2019-8-30 20:38:41 |只看作者 |坛友微信交流群
感谢分享

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 13:18