- 浏览: 69535 次
- 性别:
- 来自: 北京
最新评论
文章列表
本文接数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文档分类器的JAVA实现(上)本分类器的完整工程可以到点击打开链接下载,详细说明的运行方法,用eclipse可以运行,学习数据挖掘的朋友可以跑一下,有问题可以联系我, ...
- 2012-03-27 23:47
- 浏览 692
- 评论(0)
本文主要描述基于贝叶斯算法及KNN算法的newsgroup18828文档分类器的设计及实现,包括数据预处理、贝叶斯算法及KNN算法实现。本分类器的完整工程可以到点击打开链接下载,详细说明的运行方法,用eclipse可以运行,学习数据挖掘的朋友可以跑一下,有问题可以联系我,欢迎交流:)。本文主要内容如下:
对newsgroup文档集进行预处理,提取出30095 个特征词
计算每篇文档中的特征词的TF*IDF值,实现文档向量化,在KNN算法中使用
用JAVA实现了KNN算法及朴素贝叶斯算法的newsgroup文本分类器
1、Newsgroup文档集介绍
Newsgroups最早由Lang于 ...
- 2012-03-27 23:06
- 浏览 1165
- 评论(0)
这是我面试A公司时碰到的算法题,题目大意是一本书缺了一页,然后书页顺序被打乱,问如何迅速找到缺失的那一页?
思路:其实就是在乱序数组里面找缺失的一个数,有以下方法
1、直接排序,然后遍历一次 时间复杂度O(NlogN),不需要额外空间
2、用bitmap思想,开一个大数组,可以用bitset以节省空间,遍历一遍该数组,出现的数字置位为1,遍历完毕后,没有置位的那一位对应的数就是缺失的数字,时间复杂度O(N),但是需要O(N)的额外空间
3、原地桶排序思想,遍历数组,如果脚标与值相等不做任何处理;否则交换该数到其值索引的那个位置,对于被占用位置的数字,采用同样的方法放到其值索引的位置,直到 ...
- 2012-03-17 23:16
- 浏览 500
- 评论(0)
Table of Contents 原文链接 http://man.lupaworld.com/content/manage/ringkee/awk.htm
1. 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
- 2012-03-07 11:57
- 浏览 488
- 评论(0)
数据挖掘课上面老师介绍了下决策树ID3算法,我抽空余时间把这个算法用C++实现了一遍。
决策树算法是非常常用的分类算法,是逼近离散目标函数的方法,学习得到的函数以决策树的形式表示。其基本思路是不断选取产生信息增益最大的属性来划分样例集和,构造决策树。信息增益定义为结点与其子结点的信息熵之差。信息熵是香农提出的,用于描述信息不纯度(不稳定性),其计算公式是
Pi为子集合中不同性(而二元分类即正样例和负样例)的样例的比例。这样信息收益可以定义为样本按照某属性划分时造成熵减少的期望,可以区分训练样本中正负样本的能力,其计算公司是
我实现该算法针对的样例集合如下
该表记录了在不同气候 ...
- 2012-03-05 19:04
- 浏览 743
- 评论(0)
课程文本分类project SVM算法入门
转自:http://www.blogjava.net/zhenandaci/category/31868.html
SVM入门(一)至(三)Refresh
按:之前的文章重新汇编一下,修改了一些错误和不当的说法,一起复习,然后继续SVM之旅.
(一)SVM的简介
支持向量 ...
- 2012-03-04 02:13
- 浏览 1009
- 评论(0)
最近要做文本分类相关的课程project,因此上网找了一下文本分类的资料,下面这个感觉比较通俗易懂,收录在这里。
来源 http://www.blogjava.net/zhenandaci/category/31868.html?Show=All
文本分类入 门(一)文本分类问题的定义
文本分类系列 ...
- 2012-03-04 02:08
- 浏览 1611
- 评论(0)
该算法是概念空间挖掘最简单的算法,只考虑了正实例,不断做泛化,实际上求得了一个最特化边界
概念挖掘需求
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 &l ...
- 2012-03-03 11:08
- 浏览 631
- 评论(0)
Candidate-Elimination算法是数据挖掘中的一种概念学习算法,部分解决Find-S的不足,可以输出所有与训练样本一致的概念,同时利用概念间偏序关系来指导搜索,其伪代码描述如下
Initialize Gto the set of most-general hypotheses in H
Initialize ...
- 2012-02-27 22:09
- 浏览 514
- 评论(0)
STLContianers容器精辟总结
一、序列容器(Sequence containers)
1、 Vector :一种序列容器,实现为动态数组,元素保存在连续的存储位置,支持迭代器和索引访问。与数组不同的是,可以自动分配存储空间,容易改变容器大小。当需要 ...
- 2012-02-26 19:06
- 浏览 638
- 评论(0)
题目链接 http://cs.nyu.edu/courses/spring12/CSCI-GA.2560-001/prog1.html
题目大意:给定n个任务的时间、价值及先后序关系,求一个可行的任务子集,使得时间之和不大于deadline,价值之和不小于targetVaule,且不可出现逆序。
算法思路:题目 ...
- 2012-02-16 01:28
- 浏览 631
- 评论(0)
通过分类讨论,将规模较大的问题转换成规模较小的相同问题,学会”降维“,将索引值不断降小,就可以递归求解
设f(m,n)为把m个苹果放到n个盘子中的方法数,m>=0,n>=0.
若m和n中任何一个等于0,那么f(m,n) = 1,注意不是等于0,因为相当于就那么一种结果,就是不往盘子里面放(没有苹果),或者,连盘子都没有。
若n=1,显然对于任意的m>=0 有f(m,1) = 1
若m=1,显然对于任意的n>=0 有f(1,n) = 1
接下来讨论m>1 && n>1的情况:
若 m < n 则 f(m,n) = f(m,m)。 ...
- 2012-02-11 18:42
- 浏览 599
- 评论(0)
这题是求数字三角形由顶到底边最大数字和对应的路径,在准备夏令营的时候红皮教材上面有,当时没有学动态规划算法,不是很理解,经过这一阵对算法的学习和POJ训练,总算在10分钟内独立思考AC,其实挺简单,满足最优子结构和无后效性,是经典的动态规划问题。
一般的思考方法是,由特殊情况比如题目给的示例数据入手,分析如何计算辅助数组dp的值,dp[i][j]记录以r[i][j]为顶点向下走到底边可以得到的最大和,dp数组底边的值就是数字三角形底边数字,然后从底向上计算,dp数组的计算方程(即动态规划状态方程)为
dp[i][j] = max(r[i][j] + dp[i+1][j] , r[i][j] ...
- 2012-02-11 16:27
- 浏览 1444
- 评论(0)
这题主要求二叉树结点到根结点的路径长度,基本的思路是 比较a与b,如果a大则当前结点是左孩子,a-b作为父结点的左数,父结点的右数与当前右数相等;如果b大则当前结点为右孩子,同理可以求父结点,直到父结点为(1,1)遍历结束。
当用原始的递归算法会超时,需要考虑a=1或b=1的特殊情况,同时利用a与b的倍数关系加快遍历速度
Source Code
Problem: 2499
User:
yangliuACMer
Memory: 244K
Time: 0MS
Language: C++
Result: Accepted
#inc ...
- 2012-02-11 15:31
- 浏览 741
- 评论(0)
这题就是求中位数,直接用qsort排序取中,算法复杂度为O(NlogN)
当然求中位数的最优算法是O(N)的Select算法
Source Code
Problem: 2388
User:
yangliuACMer
Memory: 284K
Time: 63MS
Language: C++
Result: Accepted
#include <iostream>
#include <stdlib.h>
using namespace std;
int comp(const void * a, con ...
- 2012-02-11 13:23
- 浏览 713
- 评论(0)