摘要:本文是从 How to become a proficient Python programmer 这篇文章翻译而来。这篇文章主要是对我收集的一些文章的摘要。因为已经有很多比我有才华的人写出了大量关于如何成为优秀Python程序员的好文章。我的总结主要集中在四个基本题目上:函数式编程,性能,测试,编码规范。如果一个程序员能将这四个方面的内容知识都吸收消化,那他/她不管怎样都会有巨大的收获。函数式编程命令式的编程风格已经成为事实上的标准。命令式编程的程序是由一些描述状态转变的语句组成。虽然有时候这种编程方式十分的有效,但有时也不尽如此(比如复杂性) —— 而且,相对于声明式编程方式,它可能会显得
阅读全文
摘要:最大熵是自然语言处理中经常用到的一种统计方 法。网上也有很多最大熵方面的工具包,目前大家用得最多的应该是张乐博士写的最大熵工具包了。该工具包既可以采用命令行形式运行,也可以直接调用接口函 数,为大家的研究工作带来了很大的方便。但是,对于刚接触到该工具包的人来说,使用起来还是有些麻烦的。一、命令行形式使用方法 1、利用命令行形式,首先要准备好特征文件。特征文件的格式在最大熵工具包的使用说明书(manual20041229.pdf)的P24。 特征文件中,一行就是一个事件(event),其格式首先是该event对应的类别label,然后是特征feature,两者都是string类型的。如果feat
阅读全文
摘要:如果要修改列表,但是要保留原来列表的一份拷贝,就需要列表自我复制,这过程叫做克隆。克隆的结果是产生两个值一样,但却有不同标识符的列表。克隆的方法是利用列表的片断操作符:>>> x = [1, 3, 5, 7]>>> y = x[:]>>> print y[1, 3, 5, 7]>>> y[0] = 9>>> print y[9, 3, 5, 7]>>> print x[1, 3, 5, 7]>>> id(x)13161832>>> id(y)13075
阅读全文
摘要:经Edwin Chen的推荐,认识了scikit-learn这个非常强大的python机器学习工具包。这个帖子作为笔记。(其实都没有笔记的意义,因为他家文档做的太好了,不过还是为自己记记吧,为以后节省若干分钟)。如果有幸此文被想用scikit-learn的你看见,也还是非常希望你去它们的主页看文档。主页中最值得关注的几个部分:User Guide几乎是machine learning的索引,各种方法如何使用都有,Reference是各个类的用法索引。S1. 导入数据大多数数据的格式都是M个N维向量,分为训练集和测试集。所以,知道如何导入向量(矩阵)数据是最为关键的一点。这里要用到numpy来协
阅读全文
摘要:. 数据结构¶.1. 深入列表¶链表类型有很多方法,这里是链表类型的所有方法:list.append(x)把一个元素添加到链表的结尾,相当于 a[len(a):] = [x] 。list.extend(L)将一个给定列表中的所有元素都添加到另一个列表中,相当于 a[len(a):] = L 。list.insert(i, x)在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如 a.insert(0, x) 会插入到整个链表之前,而 a.insert(len(a), x) 相当于 a.append(x) 。list.remove(x)删除链表中值为 x
阅读全文