- 博客(20)
- 资源 (8)
- 收藏
- 关注
原创 __repr__与__str__
这两者主要是用来显示、打印对象。那么他们有什么区别和关联呢。首先说下str()和repr内建函数,概括的说str()返回值是给人看的,repr()是给机器看的,而repr()函数得到的字符串通常可以用来重新获得该对象,通常情况下 obj==eval(repr(obj)) 这个等式是成立的。str()会调用__str__,repr()会调用__repr__。对于打印操作会尝试使用__str__,
2014-06-01 17:29:33
2936
原创 理解python装饰器
#-*- coding: UTF-8 -*-import timeimport functoolsdef foo(say,hi='xx'): print locals() print 'in foo :say %s' % (say,)def add(x,y): return x+y#version 1def timeit(func): start
2014-03-12 22:27:56
2793
原创 virtualenv、pip备忘
virtualenv安装sudo pip install virtualenv使用virtualenv virenvtest激活脚本source bin/virenvtest退出虚拟环境deactivate--system-site-packages选项能直接引用全局的site-packages--extra-search-dir选项指定额外的搜
2014-03-11 22:15:39
3013
1
原创 Python可变长度的参数
Python中定义的函数参数列表可以很神奇,主要是有非关键字可变长参数和关键字变量参数。非关键字可变长参数首先我们定义如下函数:def tuple_var_args(arg1,arg2='default arg2',*vargs_tuple): print 'format arg1:',arg1 print 'format arg2:',arg2 for arg
2014-03-09 10:37:05
3723
原创 使用heapq标准库计算访问次数最多的query
场景:在日志文件中记录着每次访问的query,现在需要找到最热门的10个query利用heapq实现我们首先定义数据结构class Query(object): def __init__(self,term,count): self.term=term self.count=count def __cmp__(
2014-03-08 18:58:39
2645
原创 Python list排序
最基本的使用>>> alist = range(10)>>> alist[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> random.shuffle(alist)#洗牌>>> alist[2, 8, 6, 9, 7, 3, 5, 1, 0, 4]>>> alist.sort()>>> alist.sort(reverse=True)#降序>>
2014-03-07 19:29:41
2638
原创 OpenERP 7.0版本发布
据OpenERP官方消息,OpenERP 7.0 于2013年3月1日发布。OpenERP公司对7.0版倾注了很大心血,赋予了极大期望。OpenERP创始人Fabien甚至为OpenERP 7.0写了一篇讨伐SAP的檄文,还注册了sorrysap的域名。在该檄文中,Fabien宣称:是时候向敌人宣战了,亮剑我们磨砺6年的决斗王牌:www.SorrySAP.com 。全文中译本参见:对不起SAP,我
2013-03-19 22:19:08
3307
原创 使用Orange进行数据挖掘之关联------Apriori
关联基本定义关联规则:形如 X -> Y的蕴涵表达式,其中X和Y是不相交的项集。关联规则的强度可以用支持度和置信度度量支持度:确定规则可以用于给定数据集的频繁程度,用s表示 s=(x并y的长度)/数据集的长度置信度:确定Y在包含X的事物中出现的频繁程度。用c表示 c=(x并Y的长度)/(X的长度)例如 有购物蓝事物的例子1{面包,牛奶}
2013-01-06 11:05:51
6891
原创 使用Orange进行数据挖掘之分类(4)------SVM
SVM基本概念简单的说SVM是一种对线性合非线性数据进行分类的方法。以二维数据为例,中间的直线将数据分为两部分,分别用实心的圆点和空心的圆点表示。对于上边的数据可能有很多直线将数据区分开,如下SVM通过搜索最大边缘超平面来选择最合适的超平面,因为具有较大边缘的超平面对于未来的数据分组分类更好的准确性。分离超平面表示为:W*X+b =0位于超平面上方的点满足
2013-01-05 16:35:19
5064
原创 使用Orange进行数据挖掘之分类(3)------决策树
决策树决策树基本决策树类似流程图,内部节点表示在一个属性的上的测试,比如age属性是否大于30等,每个分支代表一个属性测试的输出,最下层的叶子节点代表具体的类。下面是《数据挖掘:概念与技术》上的例子,数据为:根据ID3算法生成的决策树如下:生成据测树的基本算法在这一算法步骤(6)中计算信息增益我们对每个分布计算期望信息。对于age= ”I(s11
2013-01-04 15:18:09
13628
原创 使用Orange进行数据挖掘之分类(2)------KNN分类
knn基本概念knn把每个样例看做是空间上的一个点,给定一个测试样例,使用适当的邻近性度量算法,计算出该点与训练集中其他点的邻近度。选择K个最相近的点。在选择出的K个样例中,比例最好的类就是测试样例的类。从以上描述中可以看出,如果k选择的太小,该算法容易受到噪声的影响,而产生过度拟合的影响,然而如果选择的过大,可能造成误分类。算法描述:k是最近邻数目,D是训练样例的
2013-01-02 17:00:57
4952
原创 使用Orange进行数据挖掘之分类(1)------朴素贝叶斯分类
基本概念贝叶斯分类法是基于统计学的分类法。比较分类算法,该方法可以和决策树、神经网络分类相媲美。朴素贝叶斯分类法基于数据属性之间是独立的假定。贝叶斯定理首先是用到的基本表达式,P(H|X)表示条件X下,H的后验概率。P(H)是表示H发生的先验概率。贝叶斯定理是:P(H|X)=P(X|H)P(H)/P(X)朴素贝叶斯分类 设D是用于训练的数据集,
2013-01-02 14:18:28
5800
原创 使用Orange进行数据挖掘之聚类分析(2)------K-means
一、基本k均值算法1 根据用户指定的参数K,首先选择K个初始化质心;2 然后每个点指派到最近的质心,指派到一个质心的点形成一个簇。3 更新每个簇的质心4重复步骤2、3,直到簇不在发生变化。伪代码描述如下:选择K个点作为初始质心repeat 将每个质心指派到最近的质心,形成K个簇 重新计算每个簇的质心until 质心不在发生变化二、Orange中K
2012-12-31 10:25:27
9574
原创 使用Orange进行数据挖掘之聚类分析(1)------层次聚类
一、层次聚类1 层次聚类的基本概念 层次聚类方法是古老而且常用的聚类方法。层次聚类方法又有两种产生层次聚类的基本方法。凝聚的:该方法是自底向上的方法,初始每个对象看做一个簇,每一步合并最相近的簇,最终形成一个簇。分类的:该方法是自顶向下的方法,从包含的所有点的簇开始,每一步分裂一个簇,知道仅剩下单点的簇。本文主要关注凝聚的层次聚类方法。2 簇之间的邻近性在凝
2012-12-29 19:18:37
8374
原创 Orange数据格式
数据挖掘工具Orange除了支持C4.5等格式外,还有自己的数据格式。原生数据格式原生的数据格式不像C4.5由多个文件组成,而是由一个单独的文件组成。该文件以.tab结尾。其中第一行给出了数据属性的名字,类的名字 由TAB分割。第二行给出数据的类型。连续的数据用c表示,不连续的数据用d表示。第三行给出数据的额外信息。例如表示某列是class,或者挖掘过程中忽略某列用i表示。
2012-12-28 16:06:00
7883
原创 Cloud Foundry参赛博文——用BOSH部署CloudFoundry实战
Cloud Foundry参赛博文——用BOSH部署CloudFoundry实战当您看到这篇文章的时候,相信对什么是CloudFoundry、BOSH、dev_setup已经非常熟悉了。客套的我们就不说了,直接上干果。用dev_setup部署看官,您先别惊讶,文章名字虽说叫用BOSH部署CloudFoundry实战,还允许我说下对用dev_setup部署的一点经验,也许对您有一
2012-10-13 23:07:02
6389
2
原创 Robtotlegs中的依赖注入
依赖注入是Robotlegs中的重要部分。那么依赖注入是怎么工作的呢?依赖注入有两个部分组成,注入点和注入规则。注入点简单的说就是什么地方需要注入,注入规则说明怎么注入。设置注入点Robotlegs可以针对属性、参数和构造函数进行注入,对应的注入方法就是在其上标记[Inject],例如:[Inject]public var propertyName:propertyType;
2012-10-06 23:04:55
1166
Apress.Pro.Django.2nd.Edition.Jul.2013
2013-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人