摘要: 本文接数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文档分类器的JAVA实现(上)本分类器的完整工程可以到点击打开链接下载,详细说明的运行方法,用eclipse可以运行,学习数据挖掘的朋友可以跑一下,有问题可以联系我,欢迎交流:)上文中描述了newsgroup18828文档集的预处理及贝叶斯算法的JAVA实现,下面我们来看看如何实现基于KNN算法的newsgroup文本分类器1 KNN算法的描述KNN算法描述如下:STEP ONE:文本向量化表示,由特征词的TF*IDF值计算STEP TWO:在新文本到达后,根据特征词确定新文本的向量STEP THREE:在训练文本集中选出 阅读全文
posted @ 2012-03-27 23:47 yangleo 阅读(1024) 评论(6) 推荐(0) 编辑
摘要: 本文主要描述基于贝叶斯算法及KNN算法的newsgroup18828文档分类器的设计及实现,包括数据预处理、贝叶斯算法及KNN算法实现。本分类器的完整工程可以到点击打开链接下载,详细说明的运行方法,用eclipse可以运行,学习数据挖掘的朋友可以跑一下,有问题可以联系我,欢迎交流:)。本文主要内容如下:对newsgroup文档集进行预处理,提取出30095 个特征词计算每篇文档中的特征词的TF*IDF值,实现文档向量化,在KNN算法中使用用JAVA实现了KNN算法及朴素贝叶斯算法的newsgroup文本分类器1、Newsgroup文档集介绍Newsgroups最早由Lang于1995收集并在[ 阅读全文
posted @ 2012-03-27 23:06 yangleo 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 这是我面试A公司时碰到的算法题,题目大意是一本书缺了一页,然后书页顺序被打乱,问如何迅速找到缺失的那一页?思路:其实就是在乱序数组里面找缺失的一个数,有以下方法1、直接排序,然后遍历一次 时间复杂度O(NlogN),不需要额外空间2、用bitmap思想,开一个大数组,可以用bitset以节省空间,遍历一遍该数组,出现的数字置位为1,遍历完毕后,没有置位的那一位对应的数就是缺失的数字,时间复杂度O(N),但是需要O(N)的额外空间3、原地桶排序思想,遍历数组,如果脚标与值相等不做任何处理;否则交换该数到其值索引的那个位置,对于被占用位置的数字,采用同样的方法放到其值索引的位置,直到数组末尾,此时 阅读全文
posted @ 2012-03-17 23:16 yangleo 阅读(561) 评论(0) 推荐(0) 编辑
摘要: Table of Contents 原文链接 http://man.lupaworld.com/content/manage/ringkee/awk.htm1. awk简介2. awk命令格式和选项2.1. awk的语法有两种形式2.2. 命令选项3. 模式和操作3.1. 模式3.2. 操作4. awk的环境变量5. awk运算符6. 记录和域6.1. 记录6.2. 域6.3. 域分隔符7. gawk专用正则表达式元字符8. POSIX字符集9. 匹配操作符(~)10. 比较表达式11. 范围模板12. 一个验证passwd文件有效性的例子13. 几个实例14. awk编程14.1. 变量14 阅读全文
posted @ 2012-03-07 11:57 yangleo 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 数据挖掘课上面老师介绍了下决策树ID3算法,我抽空余时间把这个算法用C++实现了一遍。决策树算法是非常常用的分类算法,是逼近离散目标函数的方法,学习得到的函数以决策树的形式表示。其基本思路是不断选取产生信息增益最大的属性来划分样例集和,构造决策树。信息增益定义为结点与其子结点的信息熵之差。信息熵是香农提出的,用于描述信息不纯度(不稳定性),其计算公式是Pi为子集合中不同性(而二元分类即正样例和负样例)的样例的比例。这样信息收益可以定义为样本按照某属性划分时造成熵减少的期望,可以区分训练样本中正负样本的能力,其计算公司是我实现该算法针对的样例集合如下该表记录了在不同气候条件下是否去打球的情况,要 阅读全文
posted @ 2012-03-05 19:04 yangleo 阅读(1235) 评论(0) 推荐(0) 编辑
摘要: 课程文本分类project SVM算法入门转自:http://www.blogjava.net/zhenandaci/category/31868.htmlSVM入门(一)至(三)Refresh按:之前的文章重新汇编一下,修改了一些错误和不当的说法,一起复习,然后继续SVM之旅.(一)SVM的简介支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根 阅读全文
posted @ 2012-03-04 02:13 yangleo 阅读(917) 评论(0) 推荐(1) 编辑
摘要: 最近要做文本分类相关的课程project,因此上网找了一下文本分类的资料,下面这个感觉比较通俗易懂,收录在这里。来源 http://www.blogjava.net/zhenandaci/category/31868.html?Show=All文本分类入 门(一)文本分类问题的定义文本分类系列文章,从文本分类问题的定义开始,主要讲解文本分类系统的构成,主流的统计学习方法以及较为优秀的SVM算法及其改进。 一个文本(以下基本不区分“文本”和“文档”两个词的含义)分类问题就是将一篇文档归入预先定义的几个类别中的一个或几个,而文本的自动分类则是使用计算机程序来实现这样的分类。通俗点说,就好比你拿一篇 阅读全文
posted @ 2012-03-04 02:08 yangleo 阅读(1701) 评论(1) 推荐(2) 编辑
摘要: 该算法是概念空间挖掘最简单的算法,只考虑了正实例,不断做泛化,实际上求得了一个最特化边界概念挖掘需求C++实现#include <iostream> #include <string> using namespace std; #define MAXTRAIN 4 #define MAXLEN 7 int main(){ int i, j; string state[MAXTRAIN][MAXLEN]; string concept[MAXLEN]; string yes("Yes"); for( i = 0; i < MAXTRAIN; i+ 阅读全文
posted @ 2012-03-03 11:08 yangleo 阅读(367) 评论(0) 推荐(0) 编辑
摘要: Candidate-Elimination算法是数据挖掘中的一种概念学习算法,部分解决Find-S的不足,可以输出所有与训练样本一致的概念,同时利用概念间偏序关系来指导搜索,其伪代码描述如下Initialize Gto the set of most-general hypotheses in H Initialize Sto the set of most-specific hypotheses in H For each training example, d, do: If dis a positive example then: Remove from Gany hypotheses 阅读全文
posted @ 2012-02-27 22:09 yangleo 阅读(354) 评论(0) 推荐(0) 编辑
摘要: STLContianers容器精辟总结一、序列容器(Sequence containers)1、 Vector :一种序列容器,实现为动态数组,元素保存在连续的存储位置,支持迭代器和索引访问。与数组不同的是,可以自动分配存储空间,容易改变容器大小。当需要频繁从序列尾部增加或者删除数据时,可以表现出高效的性能。size记录了当前容器大小,capacity记录了当前已分配的最大空间。2、 List:一种序列容器,实现为双向链表。与其他容器如vector和deques相比,list在容器内部插入、删除元素操作中性能更好。主要缺点是不支持元素直接按索引访问,需要迭代遍历。3、 Deque:全称为dou 阅读全文
posted @ 2012-02-26 19:06 yangleo 阅读(264) 评论(0) 推荐(0) 编辑