前言 用python实现了一个没有库依赖的"纯" py-based PrefixSpan算法. Github 仓库 https://github.com/Holy-Shine/PrefixSpan-py 首先对韩老提出的这个数据挖掘算法不清楚的可以看下这个博客,讲解非常细致.我的实现也是基本照着这个思路. PrefixSpan算法原理总结 再简单提一下这个算法做了一件什么事. 假设有多个时间序列串: 串序号 序列串 0 1, 4, 2, 3 1 0, 1, 2, 3 2 1, 2, 1…
算法描述 K-means算法是一种被广泛使用的基于划分的聚类算法,目的是将n个对象会分成k个簇.算法的具体描述如下: 随机选取k个对象作为簇中心: Do 计算所有对象到这k个簇中心的距离,将距离最近的归入相应的簇: 重新计算每个簇的中心: 计算准则函数V: While 准则函数的值稳定(或变化小于某个阈值) 其中准则函数V的定义如下:   其中,ui表示第i个簇Si的中心.最终经过T次迭代获取到最终的分类结果,对于第t+1次迭代之后得到的中心,有如下定义: 算法的优缺点 优点: 1)      …
最近在学习网络爬虫,完成了一个比较简单的python网络爬虫.首先为什么要用爬虫爬取信息呢,当然是因为要比人去收集更高效. 网络爬虫,可以理解为自动帮你在网络上收集数据的机器人. 网络爬虫简单可以大致分三个步骤: 第一步要获取数据, 第二步对数据进行处理, 第三步要储存数据. 获取数据的时候这里我用到了python的urllib标准库,它是python中非常方便抓取网页内容的一个模块. 具体为: 这里我要爬取的是电影天堂一个电影页面的电影名称,日期等数据. from urllib import…
无聊之余,下面分享一个Python小脚本:测试网站页面访问速度 [root@huanqiu ~]# vim pywww.py #!/usr/bin/python # coding: UTF-8 import StringIO,pycurl,sys,os,time class idctest: def __init__(self): self.contents = '' def body_callback(self,buf): self.contents = self.contents + buf…
堆栈(Stack)是一种常见的数据结构,符合后进先出(First In Last Out)原则,通常用于实现对象存放顺序的逆序.栈的基本操作有push(添加到堆栈),pop(从堆栈删除),peek(检测栈顶元素且不删除). /** * Created by Frank */ public class ToyStack { /** * 栈的最大深度 **/ protected int MAX_DEPTH = 10; /** * 栈的当前深度 */ protected int depth = 0;…
KNN也称为k近邻算法,本质思想:物以类聚. 在分类或者预测中,待分类或预测的样本的类别和走势将直接参考与该样本最“近邻”的k个邻居. 在这种思路下,KNN注定会遇到3个问题: (1): 谁是我的邻居:距离度量 (2): 参考多少个邻居作为参考:K值的选择,越多越好吗? 不一定. (3): 有了k个最近邻居了,如何进行决策:分类决策规则   距离度量:闵可夫斯基 || 曼哈顿 || 欧式 || 切比雪夫,具体公式可参考wiki百科 另外:在多维数据中,不同的维度的值差异可能较大,为了平等处理每个…
import urllib.request import re #解析html的内容 def getHtml(url): page=urllib.request.urlopen(url) html=page.read() return html #从html获取想要的图片信息 def getImg(html): reg = 'src="(.+?\.png)"' #正则表达式表示出想要获取的部分信息 img = re.compile(reg) #生成一个正则表达式对象 html =htm…
以前 曾经有一个人教会我一件事 要学会相信一些看似不可能的事  当你真的相信的时候  或许 没有什么事情是不可能的 ——<秦时明月•与子同归> 在编译原理的众多书籍中,陈述了很多生成语法树的经典算法,它们大多是基于递归的方式进行工作的.在本文中,将与大家分享一种基于迭代方式的.易于理解的语法树生成算法,由于其一次成功迭代仅生成一个语法“树枝”的处理特点,可称之为单步算法. 我们将通过对中缀表达式的语法树生成实验进行算法细节的初步阐述与验证. 第一阶段:简单模型 我们第一阶段的中缀表达式语法规定…
原文地址:http://blog.csdn.net/aladdina/article/details/4141177 国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART. 不仅仅是选中的十大算法,其实参加评选的…
引言     最近有些朋友总来问我有关遗传算法的东西,我是在大学搞数学建模的时候接触过一些最优化和进化算法方面的东西,以前也写过几篇博客记录过,比如遗传算法的C语言实现(一):以非线性函数求极值为例和C语言实现粒子群算法(PSO)一等,如果对原理有兴趣的话可以去我的博客具体查看:Lyrichu's Blog.所以突发奇想,干脆把以前写的一些进化算法比如遗传算法(GA),粒子群算法(PSO),模拟退火算法(SA)以及最近看的基于梯度的一些优化算法比如Gradient Descent,SGD,Mom…