小程序教程

huludan的专栏(2)

字号+ 作者:H5之家 来源:H5之家 2017-09-12 17:00 我要评论( )

k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相度较高;而不同聚类中的对象相度较� >劾嘞喽仁抢酶骶劾嘀卸韵蟮木竦靡桓觥爸行亩� 象”(引力中

k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对 象”(引力中心)来进行计算的。
k-means 算法的工作过程说明如下:首先从n个 数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然 后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

处理流程:

( 1 ) 从 个 数据对象任意选择 个 对象作为初始聚类中心; 
( 2 ) 循 环( 3 ) 到( 4 ) 直到每个聚类不再发生变化为止; 
( 3 ) 根 据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分; 
( 4 ) 重 新计算每个(有变化)聚类的均值(中心对象)

到这里这个文本聚类的小程序的核心思想就讲完了,总的来说大致步骤如 下:                                           

(1)对各个文本分词,去除停用词

(2)通过TF-IDF方法获得文本向量的权值(每个文本向量的维数是 相同的,是所有文本单词的数目,这些单词如果有重复那只算一次,所以如果文本越多,向量的维数将会越大)

(3)通过K-means算法对文本进行分类

本人的文本小程序的结 果还算令人满意,对下面的实验用例的聚类结果还算是理想,但是每次执行的结果都不一样。其实聚类的结果受好多种因素制约,提取特征的算法,随机初始化函 数,kmeans算法的实现等,都有优化的地方,不信你把输入的数据的顺序改改,聚类结果就不一样了,或者把随机数的种子变一下,结果也不一样,k- means算法加入一些变异系数的调整,结果也不一样,提取特征的地方不用TF/IDF权重算法用别的,结果肯定也不一样。

实验用例:

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

以下是我在网上参考的资料:


 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评