电子工业出版社,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. DOM之概述

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  2. 适配器 STL

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  3. Sizzle源码分析:三 筛选和编译

    好了有了之前的词法分析过程,现在我们来到select函数来,这个函数的整体流程,前面也大概说过: 1. 先做词法分析获得token列表 2. 如果有种子集合直接到编译过程 3. 如果没有种子集合并且是 ...

  4. Linux 需要掌握的一些命令

    详情: 1. tar 创建一个新的tar文件 $ tar cvf archive_name.tar dirname/ 解压tar文件 $ tar xvf archive_name.tar 查看tar文 ...

  5. java Object对象的clone方法

    参考copy链接:http://blog.csdn.net/bigconvience/article/details/25025561 在看原型模式,发现要用到clone这个方法,以前和朋友聊过,没怎 ...

  6. python的单元测试代码编写流程

    单元测试: 单元测试是对单独的代码块分别进行测试, 以确保它们的正确性, 单元测试主要还是由开发人员来做, 其余的集成测试和系统测试由专业的测试人员来做. python的单元测试代码编写主要记住以下几 ...

  7. [置顶] Unity2d引入新功能SpriteAtlas,Sprite新的图集方式

    孙广东  2017.8.3 http://blog.csdn.NET/u010019717 在Unity 2017.1.0f3中引入了 SpriteAtlas 官方文档:  https://docs. ...

  8. python3 读入一个jpg格式的图片,并转换长宽像素个数,然后进行绘制

    import matplotlib.pyplot as plt from scipy import ndimage import numpy as np import scipy fname=&quo ...

  9. list_for_each与list_for_each_entry具体解释

    一.list_for_each 1.list_for_each原型#define list_for_each(pos, head) \     for (pos = (head)->next, ...

  10. docker 数据卷 ---- 基础篇

    用户在使用 Docker 的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据的共享,这必然涉及容器的数据管理操作.容器中管理数据主要有两种方式:数据 ...