求2组数据的相似性算法.

lovesnow1314 miaoa 技术总监/研发总监  2009-07-27 12:16:25
+--------+--------+
| size1 | size2 |
+--------+--------+
| NULL | 52.10 |
| NULL | 56.14 |
| NULL | 56.97 |
| 57.34 | 57.34 |
| NULL | 58.22 |
| NULL | 64.09 |
| NULL | 66.80 |
| NULL | 68.46 |
| NULL | 69.39 |
| 72.34 | 72.34 |
| 76.10 | 76.10 |
| NULL | 79.52 |
| NULL | 84.25 |
| 88.79 | 88.79 |
| 93.56 | 93.56 |
| 94.74 | 94.74 |
| 100.06 | 100.06 |
| 101.03 | 101.03 |
| 103.33 | 103.33 |
| 106.67 | 106.67 |
| 109.91 | 109.91 |
| 119.39 | 119.39 |
| 126.29 | 126.29 |
| 128.87 | 128.87 |
| NULL | 132.92 |
| 144.99 | 144.99 |
| NULL | 150.77 |
| NULL | 151.99 |
| 156.75 | 156.75 |
| 159.96 | 159.96 |
| NULL | 164.63 |
| 165.49 | 165.49 |
| 188.59 | 188.59 |
| 211.50 | 211.50 |
| 214.28 | 214.28 |
| NULL | 221.30 |
| 223.06 | 223.06 |
| 231.31 | 231.31 |
| NULL | 241.52 |
| 262.73 | 262.73 |
| 276.60 | 276.60 |
| NULL | 285.23 |
| 291.71 | 291.71 |
| 316.93 | 316.93 |
| 324.32 | 324.32 |
| NULL | 345.69 |
| NULL | 472.20 |
| 485.66 | 485.66 |
| 501.58 | 501.58 |
| NULL | 546.34 |
+--------+--------+
50 rows in set (0.00 sec)

+--------+--------+
| size1 | size2 |
+--------+--------+
| NULL | 51.95 |
| NULL | 56.58 |
| 57.36 | 57.36 |
| 61.21 | 61.21 |
| NULL | 62.38 |
| 65.44 | 65.44 |
| NULL | 66.78 |
| 67.47 | 67.47 |
| NULL | 68.47 |
| NULL | 69.23 |
| NULL | 70.26 |
| NULL | 72.31 |
| NULL | 73.53 |
| NULL | 74.27 |
| 76.24 | 76.24 |
| 78.28 | 78.28 |
| NULL | 79.41 |
| 83.36 | 83.36 |
| NULL | 84.31 |
| NULL | 85.59 |
| NULL | 86.26 |
| NULL | 87.85 |
| 88.85 | 88.85 |
| NULL | 92.51 |
| 93.64 | 93.64 |
| 94.82 | 94.82 |
| 100.13 | 100.13 |
| 101.11 | 101.11 |
| 103.42 | 103.42 |
| NULL | 104.66 |
| NULL | 105.83 |
| 106.75 | 106.75 |
| 109.72 | 109.72 |
| NULL | 112.82 |
| 115.39 | 115.39 |
| 119.44 | 119.44 |
| 121.39 | 121.39 |
| 122.81 | 122.81 |
| 126.52 | 126.52 |
| 128.96 | 128.96 |
| NULL | 132.92 |
| 133.93 | 133.93 |
| NULL | 136.01 |
| 143.89 | 143.89 |
| 145.00 | 145.00 |
| NULL | 150.76 |
| NULL | 152.04 |
| NULL | 153.62 |
| 156.82 | 156.82 |
| 159.99 | 159.99 |
| 165.55 | 165.55 |
| NULL | 169.19 |
| NULL | 170.48 |
| 171.47 | 171.47 |
| NULL | 174.22 |
| NULL | 175.28 |
| NULL | 193.15 |
| NULL | 199.02 |
| NULL | 201.95 |
| 211.50 | 211.50 |
| 214.28 | 214.28 |
| 223.04 | 223.04 |
| 231.25 | 231.25 |
| NULL | 236.03 |
| 240.59 | 240.59 |
| 253.35 | 253.35 |
| 254.31 | 254.31 |
| 262.69 | 262.69 |
| NULL | 272.24 |
| 276.58 | 276.58 |
| NULL | 285.16 |
| 289.45 | 289.45 |
| 291.60 | 291.60 |
| NULL | 296.81 |
| NULL | 297.05 |
| 307.34 | 307.34 |
| 316.90 | 316.90 |
| 324.32 | 324.32 |
| NULL | 345.37 |
| NULL | 359.31 |
| 363.33 | 363.33 |
| NULL | 377.77 |
| 403.10 | 403.10 |
| NULL | 455.89 |
| NULL | 472.27 |
| 485.64 | 485.64 |
| 493.55 | 493.55 |
| 501.59 | 501.59 |
+--------+--------+

size1是待分析数据,size2是标准数据,如何计算size1对于size2的相似度.

多谢解答,在线等.
...全文
351 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hua_zhixing_ 2009-08-06
用插值或拟合吧,具体没学牢,只记得有这么回事。
回复
lovesnow1314 2009-08-06
楼上能说的详细一些吗?其实2组数据数值相同,所不同的只是存在不存在的问题,上边的两组数据可以简化成

+--------+--------+
| size1 | size2 |
+--------+--------+
| 0 | 1|
| 0 | 1|
| 0 | 1|
| 1 | 1|
| 1 | 1|

这样的数据比较相似度。

我想到的办法是采用连续出现的个数作为权值,求相似度。
比如1连续出现1次,权值为0.05 ,连续2次,权值为0.1,以此类推,求出最大的值,则得到相似度最高的组。

求高手解答,必加分。
回复
LeonTown 2009-07-27
帮顶。

感觉最简单的可以用欧式距离等。
但这里需要更多条件,比如每行的两个数据是否有对应关系等。
回复
lovesnow1314 2009-07-27
按真实的情况,第二组数据的相似度高于第一组,我想过用采用连续出现的个数作为熵来运算,但是结果很不理想.
回复
用余弦的话,应该也要求维数相同吧。对于nuLL的地方可以设置为0,嗯。
但是没有正则化,导致大数相同的比较多的话,相似度比较高。

可不可以考虑把它们裁成整数,
算编辑距离?
回复
lovesnow1314 2009-07-27
没有去噪的情况下,用余弦相似度求出来的结果不太好,对于这两组数据是相反的

请问如何去噪?
回复
lovesnow1314 2009-07-27
恩,我Google下cosine similarity的相关信息,谢谢,没用过这个方法。
回复
lovesnow1314 2009-07-27
谢谢
回复
[Quote=引用 1 楼 lovesnow1314 的回复:]
按真实的情况,第二组数据的相似度高于第一组,我想过用采用连续出现的个数作为熵来运算,但是结果很不理想.
[/Quote]
1.除燥之后用cosine similarity来计算
因为你的数据维数比较多
不建议用欧氏距离等相关方法
回复
发动态
发帖子
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
社区公告
暂无公告