电子工业出版社,2015年第3版

P153,增加了buildtree函数后执行出错,报错为:

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-27-d4c8cc29c32a> in <module>()
----> 1 treepredict.buildtree(treepredict.my_data) /home/cavin/Code/BookPractice/Python/ProgrammingCollectiveIntelligence/chapter7/treepredict.py in buildtree(rows, scoref)
105 for row in rows:
106 column_values[row[col]] = 1
--> 107 # 接下来根据这一列中的每个值,尝试对数据集进行拆分
108 for value in column_values.keys():
109 (set1, set2) = divideset(rows, col, value) /home/cavin/Code/BookPractice/Python/ProgrammingCollectiveIntelligence/chapter7/treepredict.py in divideset(rows, column, value)
39 print(row[column], value)
40 split_function = lambda row: row[column] == value
---> 41
42 # 将数据集拆分成两个集合,并返回
43 set1 = [row for row in rows if split_function(row)] /home/cavin/Code/BookPractice/Python/ProgrammingCollectiveIntelligence/chapter7/treepredict.py in <listcomp>(.0)
39 print(row[column], value)
40 split_function = lambda row: row[column] == value
---> 41
42 # 将数据集拆分成两个集合,并返回
43 set1 = [row for row in rows if split_function(row)] /home/cavin/Code/BookPractice/Python/ProgrammingCollectiveIntelligence/chapter7/treepredict.py in <lambda>(row)
34 split_function = None
35 if isinstance(value, int) or isinstance(value, float):
---> 36 print(row[column], value)
37 split_function = lambda row: row[column] >= value
38 else: TypeError: '>=' not supported between instances of 'str' and 'int'

而如果使用python2执行是没问题的,所以怀疑是2和3之间的兼容问题。查看了网友列出来的一些2与3之间的差异后,初步确定是这个:

出处:http://chenqx.github.io/2014/11/10/Key-differences-between-Python-2-7-x-and-Python-3-x/

解法方法:

(还在尝试)

《集体智慧编程》第7章代码 Python3执行出错的更多相关文章

  1. Python 集体智慧编程PDF

    集体智慧编程PDF 1.图书思维导图http://www.pythoner.com/183.html p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12. ...

  2. 《集体智慧编程学习笔记》——Chapter2:提供推荐

    知识点: 1. 协作型过滤--Collaboraive Filtering 通常的做法是对一群人进行搜索,并从中找出与我们品味相近的一小群人,算法会对这些人的偏好进行考察,并将它们组合起来构造出一个经 ...

  3. Note3 :《集体智慧编程》用户相似度计算

    欧几里德距离评价: 以经过人们一致评价的物品为坐标轴,然后将参与评价的人绘制到图上,并考察他们彼此之间的距离远近.计算出每一轴向上的差值,求平方之后再相加,最后对总和取平方根. # -*- codin ...

  4. 集体智慧编程-discovering groups

    这一章讲的是利用聚集算法对blog进行分类. 首先是构造数据,找到一组blog,每个blog包含一组单词.这样就形成了(blog-name, word*)*的数据结构. 在构造该数据结构的过程中,还需 ...

  5. windows核心编程 第8章201页旋转锁的代码在新版Visual Studio运行问题

    // 全局变量,用于指示共享的资源是否在使用 BOOL g_fResourceInUse = FALSE; void Func1() { //等待访问资源 while(InterlockedExcha ...

  6. 异步编程系列06章 以Task为基础的异步模式(TAP)

    p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...

  7. winsock编程IOCP模型实现代码

    winsock编程IOCP模型实现代码 话不多说,上代码.借鉴<windows核心编程>部分源码和CSDN小猪部分代码. stdafx.h依赖头文件: #include <iostr ...

  8. 3-8《Ruby元编程》第二章对象模型

    <Ruby元编程> 第二章 对象模型 类定义揭秘inside class definitions: class关键字更像一个作用域操作符,核心作用是可以在里面随时定义方法. [].meth ...

  9. [书籍翻译] 《JavaScript并发编程》第一章 JavaScript并发简介

    > 本文是我翻译<JavaScript Concurrency>书籍的第一章,该书主要以Promises.Generator.Web workers等技术来讲解JavaScript并 ...

随机推荐

  1. easyui combotree 异步树 前端写法js

    简要说下使用场景: combotree下拉框第一次加载时,请求一个接口,页面上展示顶层节点们(可以理解为最顶层的节点,比如所有的一级公司): 当点击其中一个节点前面的小三角展开时,再次请求服务器接口( ...

  2. easyui panel自适应浏览器宽度

    一.目标效果: 当浏览器窗口大小改变时.panel宽度始终为浏览器宽度的50%,panel高度则根据其中内容的多少而变化,横向竖向滚动条皆不出现.且不需要重新刷新浏览器或者其他js代码 兼容:chro ...

  3. 将app现有的icon转化成圆角icon

      选择圆角工具,设置半径120px   设置固定大小,然后在图片左上角开始拖动,勾勒出圆角,建立选取,自由变换,copy 选取,新建图层,删除背景,另存为,齐活   注:索引图片如何解锁: http ...

  4. Swift 获取plist文件展示在TableView上

    // 1.定义二维数组 var data:[[String]]! override func viewDidLoad() { super.viewDidLoad() // 2.实例化tableView ...

  5. I.MX6 U-boot lvds display hacking

    /*********************************************************************************** * I.MX6 U-boot ...

  6. python 安装psutil包报错:

    报错: Failed building wheel for psutil Google得知,需要安装python-devel 和 wheel sudo dnf install python-devel ...

  7. slot的使用实例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 【转】VC++ 也有 Refactoring 功能了

    原文网址:http://blog.csdn.net/yapingxin/article/details/18923095 分类: C++2014-02-04 14:00 2688人阅读 评论(0) 收 ...

  9. CentOS下用yum配置php+mysql+apache

    环境: CentOS5.4  yum 想在一台CentOS的机器上安装配置支持dedeCMS的php+mysql+apache环境,把摸索的过程记录如下: 1. 安装Apahce, PHP, Mysq ...

  10. java web Servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...