摘要:Shell命令学习笔记 1. tr 替换字符 简单示例: tr 'A' 'a' < file.txt 把每一个A字符替换为a字符。tr命令只能用于单个字符的替换,如果写成: tr 'ABC' 'abc' < file.txt 则表示分别把A,B,C字符替换为a,b,c,而不是把字符串ABC替换为abc,字符串的替换需要用到sed命令,稍候会有介绍。 2. grep 字符串查找 简单示例 :grep world file.txt 在输入文件或这标准输入中查找含有匹配字符串(此处是world)的行,并显示改行。 用grep
阅读全文
摘要:Apriori算法是数据挖掘的入门级算法,这里记录一下用Weka提供的Apriori实现对福彩双色球开奖结果的挖掘过程。 我们的挖掘目标是历届开奖结果中红球的频繁2,3项集。 1. 数据准备 福彩双色球的原理是红球33选6,蓝球是16选1,历届福彩双色球的中奖结果可以在乐彩网站找到,我们可以用一个非常简单的爬虫去爬取这些数据。我这里有已经爬好的数据,从2003年2月23号的第一期开始,到2012年10月24号为止,总共1403期,可以来信(kemaswill@163.com)索取。 双色球是从红球中33选6,所以条记录只有6个数,假设为3,7,11,18,25,29,我们需要对这种记录进行..
阅读全文
摘要:1. Ubuntu下Storm单机版安装 安装Storm还需要提前安装Python,Zookeeper,ZeroMQ,jzmq,然后才是Storm的安装和配置: 1.1 安装Python 一般Linux系统都会自带Python,如果没有可以按照以下步骤安装:wgethttp://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz tar zxf Python-2.7.2.tgz cd Python-2.7.2 ./configure make make install 在/etc/ld.so.conf后追加/usr/local/lib/ sudo
阅读全文
摘要:Mahout中的推荐算法主要有:User-based Recommender, Item-based Recommender和Slope-One Recommender。 1. User-based Recommender 该算法的主要思想是:与用户u最相似的用户喜欢的商品有很大可能也是用户u喜欢的商品。1 对于用户u的每一个没有preference的商品i2 对于每一个对商品i有preference的用户v3 计算用户u与v的相似性s//实际上无需在线计算,可以事先计算好存储起来4 将用户v对于商品i的preference,乘以s,加到用户u对商品i的预测pref...
阅读全文
摘要:(二叉)堆(heap)数据结构是一种数组对象,可以视作一颗完全二叉树,从该二叉树的根开始层次遍历这颗二叉树就可以得到其对应的数组。树的根节点为A[0],对于树中某个节点的坐标i,其左右孩子节点和父亲节点的坐标可以很方便的求得: LEFT(i)=2*i+1; RIGHT(i)=2*i+2; PARENT(i)=i/2 . 有两种二叉堆:最大堆和最小堆。最大堆中,每个节点存储的数值都大于等于其左右两个孩子节点存储的数值,亦即A[i]>=A[LEFT[i]]&&A[i]>=A[RIGHT[i]]。最小堆则正好相反。本文以最大堆为例。 知道了最大堆的定义之后,就要在给定的任
阅读全文
摘要:这是个非常常见的算法题,见诸于《编程之美》、《编程珠玑》等经典算法书籍(亦或,经典面试书籍:))。网上有很多关于这个问题的讨论和实现,我谨在此写下自己的理解,可能之前有人写过,但毕竟是自己思考出来的东西,权当记录一下。 问题:一个有N个整数元素的一维数组(A[0],A[1].....,A[n-1]),这个数组当然有很多个子数组(n*n个),求最大的子数组之和。 经典解法:1 maxsofar=02 maxendinghere=03 for i=[0,n)4 maxendinghere=max(maxendinghere+a[i],0)5 maxsofar=max(ma...
阅读全文
摘要:关于0/1背包问题网上有非常多的博文,在此我谨记录一下自己的理解。 问题表述:有N件物品和一个容量为V的背包。第i件物品的体积是C[i](0<=i<=N-1),价值是W[i]。求解将哪些物品装入背包可使价值总和最大。每个物品最多只可以放入背包一次。 这个问题的经典解法思路如下: 我们用f[i][j]表示在考虑前i个物品时体积为j的背包的最大价值,注意,我们并不是把前i个物品全部放入背包,而是考虑i个物品中挑选一些放入背包,使得价值最大的那些情况。 首先,我们考虑只有1个物品(第0个)时,容量分别为0,1,...,V的各背包所包含物品的最大价值。很明显,容量大于等于C[0]的背包的最
阅读全文
摘要:Adaboost with trees is the best off-the-shelf classifier in the world. -Breiman 1996 决策树算法起源于1984年Breiman,Friedman等人提出的CART,后来又有人(Quinlan等)提出ID3,C4.5,C5.0,CHAID等算法,但是90年代随着支持向量机(SVM)的提出和发展,决策树遇到了极大的挑战。1996年,Freund和Schapire等人提出了Adaboost算法,可以将多个弱分类器(比如Stump决策树)组合起来形成一个更加强大的强分类器,其性能可以与支持向量机媲美,所以才会有Bre.
阅读全文