楼主: JLOGAN
2087 4

[学习分享] 实现相似矩阵 [推广有奖]

  • 3关注
  • 0粉丝

硕士生

16%

还不是VIP/贵宾

-

威望
0
论坛币
24 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2830 点
帖子
87
精华
0
在线时间
97 小时
注册时间
2016-5-28
最后登录
2018-8-4

楼主
JLOGAN 发表于 2016-10-17 19:16:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位前辈,我有一列数值,请问如何对这列数值进行两两比较计算距离,得出相似度矩阵?
距离采用dist就行,我用了apply没得到想要的结果,求指教
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:apply appl Dis 相似度 求指教 如何

沙发
bbslover 在职认证  发表于 2016-10-17 20:05:55
your vector is a: then simply
a %*% t(a)  

You can get cosine similarity based on this.

藤椅
jgchen1966 发表于 2016-10-17 21:17:00
vector 格式一列数据,转化成 data.frame 格式,再用 dist 函数,即可!!如下所示:
x<-seq(1,10,by=1)
x
[1]  1  2  3  4  5  6  7  8  9 10
x<-data.frame(x=x)
str(x)
'data.frame':   10 obs. of  1 variable:
$ x: num  1 2 3 4 5 6 7 8 9 10
y<-dist(x)
str(y)
Class 'dist'  atomic [1:45] 1 2 3 4 5 6 7 8 9 1 ...
  ..- attr(*, "Size")= int 10
  ..- attr(*, "Diag")= logi FALSE
  ..- attr(*, "Upper")= logi FALSE
  ..- attr(*, "method")= chr "euclidean"
  ..- attr(*, "call")= language dist(x = x)


板凳
jgchen1966 发表于 2016-10-17 21:17:55
dist(x)
   1 2 3 4 5 6 7 8 9
2  1               
3  2 1              
4  3 2 1            
5  4 3 2 1         
6  5 4 3 2 1        
7  6 5 4 3 2 1      
8  7 6 5 4 3 2 1   
9  8 7 6 5 4 3 2 1  
10 9 8 7 6 5 4 3 2 1

报纸
JLOGAN 发表于 2016-10-18 14:57:21
多谢二位,对于数值型可以,dist返回的是矩阵。但是对于字符型的数据该如何解决?
比如我有中文字符属性,可以用字符串相似度求两个字符串的相似度。而对于很多数据,如何形成字符串两两比较的结果?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 22:49