- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 Python中的异常栈跟踪
在 Python 中,异常对象可以是任何对象,经常看到很多代码是直接raise一个字符串出来。异常对象和异常栈是分开的。 python中用于处理异常栈的模块是traceback模块,它提供了print_exception、format_exception等输出异常栈等常用的工具函数。import sysimport tracebackdef func(a, b): return
2017-04-27 19:01:06 707
转载 PageRank
PageRank对网页排名的算法,曾是Google发家致富的法宝; 一、什么是pagerank PageRank 中的Page可认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO(^_^)。PageRank算法计算每一个网页的PageRank值,然后根据这个值的大小对网页的重要性进行排序。
2017-04-27 15:47:21 419
转载 分类算法评价
一、引言 分类算法有很多,不同分类算法又有很多不同的变种。不同的分类算法有不同的特征,在不同的数据集上表现的效果也不同,我们需要根据特定的任务进行算法的选择,如何选择分类,如何评价一个分类算法的好坏,前面关于决策树的介绍,我们主要用的正确率(accuracy)来评价分类算法。 正确率确实是一个很好很直观的评价指标,但是有时候正确率高并不能代表一个算法就好。比如对某个地区某天地震的
2017-04-26 21:33:56 1606 1
转载 python Queue
Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递; 基本FIFO队列class Queue.Queue(maxsize=0)FIFO 即 First in First Out,先进先出。Queue提供了一个基本的FIFO容器,使用方法很简单,maxsize是个整数,指明了队列中能存放的数
2017-04-25 19:34:44 449
转载 Python threading 多线程
threading通过对thread模块进行二次封装,提供了更方便的API来操作线程。threading.ThreadThread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一种是创建一个threading.Thread对象,在它的初始化函数(init)中将可调用对象作为参数传入。下面分别举例说明。先来
2017-04-25 19:04:58 452
转载 Python thread 多线程
Python 标准库提供了 thread 和 threading 两个模块来对多线程进行支持;其中, thread 模块以低级、原始的方式来处理和控制线程,而 threading 模块通过对 thread 进行二次封装,提供了更方便的 api 来处理线程。 虽然使用 thread 没有 threading 来的方便,但它更灵活。#coding=gbkimport thread, time, ran
2017-04-25 17:14:14 417
转载 Python多进程编程
Python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。 Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process
2017-04-25 14:59:33 401
转载 thinking in c++ part 2
数据抽象: 库,简单地说就是一些人已经写的代码,按某种方式包装在一起。通常,最小的包是带有扩展名如L I B的文件和向编译器声明库中有什么的一个或多个头文件。连接器知道如何在L I B文件中搜索和提取相应的已编译的代码。。但是,这只是提供库的一种方法。在跨越多种体系结构的平台上,例如U N I X,通常,提供库的最明智的方法是用源代码,这样在新的目标机上它能被重新编译。而在微软Wi n
2017-04-25 08:46:42 332
转载 Python & JSON
JSON(Javascript Object Notation) 是一种轻量级的数据交换格式。JSON建构于两种结构: 名称/值 对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者
2017-04-24 20:25:54 511
转载 k-means算法及文本聚类实践
http://www.cnblogs.com/fengfenggirl/p/k-means.html K-Means是常用的聚类算法,与其他聚类算法相比,其时间复杂度低,聚类的效果也还不错,这里简单介绍一下k-means算法,下图是一个手写体数据集聚类的结果。 基本思想 k-means算法需要事先指定簇的个数k,算法开始随机选择k个记录点作为中心点,然后遍历整个数据集的各条记录,将每条
2017-04-24 09:27:35 901
转载 编写高效且优雅的Python代码
Pythonic 1. 列表切割list[start:end:step]b = a[:]assert b == a and b is not a # true如果从列表开头开始切割,那么忽略 start 位的 0,例如list[:4] 如果一直切到列表尾部,则忽略 end 位的 数,例如list[3:] 切割列表时,即便 start 或者 end 索引跨界也不会有问题
2017-04-23 16:08:46 524
转载 关联规则FpGrowth算法
http://www.cnblogs.com/fengfenggirl/p/associate_fpgowth.htmlFpGrowth算法通过构造一个树结构来压缩数据记录,使得挖掘频繁项集只需要扫描两次数据记录,而且该算法不需要生成候选集合,所以效率会比较高。
2017-04-23 09:15:27 887
转载 关联规则FpGrowth算法
http://www.cnblogs.com/fengfenggirl/p/associate_fpgowth.htmlFpGrowth算法通过构造一个树结构来压缩数据记录,使得挖掘频繁项集只需要扫描两次数据记录,而且该算法不需要生成候选集合,所以效率会比较高。
2017-04-22 11:16:38 885
转载 关联规则挖掘基本概念与Aprior算法
基本概念: 总项集:数据记录的所有项的集合,上表中的总项集 S={牛奶,面包,尿布,啤酒,鸡蛋,可乐}。 关联规则:两个不相交的非空集合X、Y,如果有X–>Y,就说X–>Y是一条关联规则。举个例子,在上面的表中,我们发现购买啤酒就一定会购买尿布,{啤酒}–>{尿布}就是一条关联规则。关联规则的强度用支持度(support)和自信度(confidence)来描述, **相对支持度:**supp
2017-04-22 11:03:12 651
原创 马尔科夫链
马尔科夫链,是数学中具有马尔科夫性质的离散事件随机过程。该过程中,在给定当前知识和信息的情况下,过去(即当前以前的历史状态)对于预测将来(即当前以后的未来状态)是无关的; 一、马尔科夫性质-原理简洁 X1,X2,X3…马尔科夫链:描述了一个状态序列,其每个状态值取决于前面有限个状态。马尔科夫链是具有马尔科夫性质的随机变量的一个数列。这些变量的变化范围,即它们所有可能取值的集合,被称为“状态空间”
2017-04-22 10:13:28 1339
转载 朴素贝叶斯分类
一个简单的例子 朴素贝叶斯算法是一个典型的统计学习方法,主要理论基础就是一个贝叶斯公式,贝叶斯公式的基本定义如下: 这个公式虽然看上去简单,但它却能总结历史,预知未来。公式的右边是总结历史,公式的左边是预知未来,如果把 Y 看做类别,X 看做特征,P( Yk | X ) 就是在已知特征 X 的情况下求属于 Yk 类别的概率,而对 P(Yk|X) 的计算又全部转化到类别 Yk
2017-04-22 08:53:36 426
原创 PYTHONPATH
若要让 Python 解释器找到自己编写的模块,该模块必须在PYTHONPATH 上,否则在导入该模块时会出现找不到该模块的错误,因此必须把所需要的模块的路径添加到PYTHONPATH 方法一: 把 Python 模块所在的目录添加入 PYTHONPATH,语法与shell里面的PATH一样;export PYTHONPATH=$PYTHONPATH:/home/lxc/software/pro
2017-04-20 14:12:45 1832
转载 Python 执行shell命令:system
一,os.system(cmd) 通过此函数执行Linux命令(或shell脚本),返回值为十进制数(对应一个 16 位的二进制数)。低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码 此函数的返回值与Linux命令返回值之间的转换关系: 函数返回值(十进制)转换为16位二进制数,截取其高八位(有关操作系统的命令错误码共有131个,低八位都是零),然后前八位转成的十进制数就是Lin
2017-04-19 20:11:40 4994
原创 python遍历一个目录,输出所有的文件名
python 获取一个文件夹内(包括子文件夹)所有文件的名字和路径import osdir = "e:\\"for root, dirs, files in os.walk(dir): for file in files: print os.path.join(root,file)或:import ospath = r'e:\case'fns = [os.path.j
2017-04-19 14:00:30 18675
转载 Bloom filter
原文链接:blog.csdn.net/jiaomeng/article/details/1495500 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)
2017-04-18 11:04:58 347
原创 排序算法
相关链接 快速排序: 快速排序是不稳定的,其时间平均时间复杂度是O(nlgn)。 快速排序的思想来自冒泡排序,冒泡排序是通过相邻元素的比较和交换把最小的冒泡到最顶端,而快速排序是比较和交换小数和大数,这样一来不仅把小数冒泡到上面同时也把大数沉到下面。思路是右指针找比基准数小的,左指针找比基准数大的,交换之; 栗子:对 5,3,8,6,4 进行快速排序;
2017-04-08 17:25:56 546
转载 preparestatement
“` /** * 将用户信息插入数据库 * @param uv * @return */ public int insertUser(UserVo uv){ int userId = 0; initDb(); **初始化连接数据库的方法 PreparedStatement pst
2017-04-06 08:38:31 407
原创 笔记
git 这里写链接内容 git config –global user.name “XX” git config –global user.email “XX” 因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标示git init 通过这个命令把所在的目录变成git可以管理的仓库 git add . (当前目录,或单个文件)添加文件到暂存区里面去 git commi
2017-04-05 21:49:48 297
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人