惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

博客园 - panzhilei

Jquery Validate高级定制: 传入正则表达式,传入错误消息 如何生成1-1000的数字,并且顺序打乱 如何快速创建大文件 高晓松:不买房,买梦想 (转)XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)(附带解决DHTMLX不能用在GB2312页面编码下的中文问题) (转贴)关于多线程执行显示进度条的实例! 利用Adobe Acrobat 7.0 Professional 自带的导出图片的功能(转) 集体智慧编程 英文版 (转)ie与firefox对节点childNode的不同解释。 - panzhilei - 博客园 (转)正则表达式学习参考 装了卡巴后VS 2003不能启动调试错误的解决方案 呵呵,日期小小技巧 godaddy的win主机发邮件的组件 获取设置本地当前默认打印机 今晚就出发回家啦!!!! where泛型约束 (转载)ASP.NET MVC结合jQuery插件进行数据验证 读取excel的时候,往往多了很多空白行,下面的代码是去掉空白行的 博客园页面有问题,
利用CURE算法来进行文本聚类
panzhilei · 2010-02-26 · via 博客园 - panzhilei

看了下“蛙蛙推荐:蛙蛙教你文本聚类”,链接地址为http://www.cnblogs.com/onlytiancai/archive/2008/05/10/1191557.html

对于文本顺序发生了变化的情况,k-means算法无法解决,后来网上找个到CURE算法的介绍,“层次聚类方法的CURE算法研究”是个pdf文档,

如是按照文章所说结合wawa的东西,实现了下CURE算法,代码写得一般,结果还行,大家有空就看看吧。

数据也用的是wawa的

测试:首先我们准备以下数据
===================
奥运 拳击 入场券 基本 分罄 邹市明 夺冠 对手 浮出 水面
股民 要 清楚 自己 的 目的
印花税 之 股民 四季
杭州 股民 放 鞭炮 庆祝 印花税 下调
残疾 女 青年 入围 奥运 游泳 比赛 创 奥运 历史 两 项 第一
介绍 一 个 ASP.net MVC 系列 教程
在 asp.net 中 实现 观察者 模式 ,或 有 更 好 的 方法 (续)
输 大钱 的 股民 给 我们 启迪
Asp.Net 页面 执行 流程 分析
运动员 行李 将 “后 上 先 下” 奥运 相关 人员 行李 实名制
asp.net 控件 开发 显示 控件 内容
奥运 票务 网上 成功 订票 后 应 及时 到 银行 代售 网点 付款
某 心理 健康 站 开张 后 首 个 咨询 者 是 位 新 股民
ASP.NET 自定义 控件 复杂 属性 声明 持久性 浅析
==================

放在bin下的input.txt中

  顺序可以你可以随意打乱

  关键代码说明,其他的可以去参考wawa的

//2、计算类间距离
                double max = double.MaxValue;
                int i_min = -1;
                int j_min = -1;
                for (int i = 0; i < _clusters.Count; i++)
                {

                    for (int j = i + 1; j < _clusters.Count; j++)
                    {
                        double dist = getDistance(_clusters[i], _clusters[j]);
                        _distanceCache[i, j] = dist;
                        if (_distanceCache[i, j] < max)
                        {
                            max = _distanceCache[i, j];
                            i_min = i;
                            j_min = j;
                        }
                    }
                }

                //
                //3、合并距离最小的两个类
                Merge(i_min, j_min);


                if (_k == _clusters.Count)
                    break;

具体理解算法要看pdf文档

地址 https://files.cnblogs.com/panzhilei/层次聚类方法的CURE算法研究.pdf

用到IFIDF,对概念不熟可以搜索“数学之美”,

数学之美 系列九 -- 如何确定网页和查询的相关性 地址为 http://googlechinablog.com/2006/06/blog-post_27.html

建议从系列一开始看起。

代码用Vs2008开发

地址 https://files.cnblogs.com/panzhilei/CureDemo.rar