首页 > 代码库 > 集体智慧编程--勘误表(1-4章)

集体智慧编程--勘误表(1-4章)

最近在工作之余的时间在阅读集体智慧编程这本书,在随书码字的过程中遇到的一些问题,就在这里记录一下:

(注:下面的页码针对于英文的非影印版)

chapter1 标题:

没什么说的,浏览下就好。

chapter2 提供推荐:

1.书上的源码是基于python 2.x,而在3.x中print是被当作一个函数处理,所以要自己加上括号;

2.在P42利用del.icio.us提供的rss订阅源构建数据集时,这本书发布时间较长的原因,python api pydelicious的

很多接口已经发生了改变,这个实验我最后跳过了,作了后面的MovieLens,书中数据的下载地址为:

http://grouplens.org/datasets/movielens/;

chapter3 发现群组:

仍然是数据集构建的问题,我们学习的主要重心在于数据的处理部分,而非数据的采集,所以可以采用将数据文件直接下载的方法,

我们将http://kiwitobes.com/clusters/feedlist变更为http://segaran.com/clusters/feelist,之后只要出现kiwitobes直接

替换为segaran就可以了;关于PIL的安装,不要采用python的easy_install或者pip install,直接下载对应

平台的可执行文件即可,在这里我下载的是PIL-1.1.7.win32-py2.7.exe,直接安装即可;

chpter4 搜索与排名:

1.关于数据库sqlite的安装在python2.x的版本中,是有包含sqlite的,所以大部分情况下自己也无需安装,具体可以可以在python

的安装路径python/Lib/下,如果找到sqlite3就表示可以直接使用,相应的导入包的语句变更为import sqlite3 as sqlite即可

2.在P85的部分是没有介绍函数addlinkref,有需要的同学需要自己到随书源码包中去查看

3.在calculatepagerank(self,iterations)函数中,初始化pagerank表时,书中的源码和随书源码是不同的,但书中源码的效率

较高

4.代码输出结果不同:

   a.创建的searchindex.db,书中是27mb左右,自己生成的是22mb左右,这个原因主要是一些链接的失效

   b.P103未训练之前getresult函数产生的结果应该是0.076,后面经过多次训练,以及本身数据集不同的原因,输出结果不同

   是正常的现象。

   c.需要注意一点,一般在创建好数据库和表时,第一次必须执行一次产生隐藏层节点的函数,generatehiddennode(wordids,urlids)

   在nn.py中

   在searchengine.py中

   

 

集体智慧编程--勘误表(1-4章)