《集体智慧编程》第7章代码 Python3执行出错
电子工业出版社,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执行出错的更多相关文章
- Python 集体智慧编程PDF
集体智慧编程PDF 1.图书思维导图http://www.pythoner.com/183.html p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12. ...
- 《集体智慧编程学习笔记》——Chapter2:提供推荐
知识点: 1. 协作型过滤--Collaboraive Filtering 通常的做法是对一群人进行搜索,并从中找出与我们品味相近的一小群人,算法会对这些人的偏好进行考察,并将它们组合起来构造出一个经 ...
- Note3 :《集体智慧编程》用户相似度计算
欧几里德距离评价: 以经过人们一致评价的物品为坐标轴,然后将参与评价的人绘制到图上,并考察他们彼此之间的距离远近.计算出每一轴向上的差值,求平方之后再相加,最后对总和取平方根. # -*- codin ...
- 集体智慧编程-discovering groups
这一章讲的是利用聚集算法对blog进行分类. 首先是构造数据,找到一组blog,每个blog包含一组单词.这样就形成了(blog-name, word*)*的数据结构. 在构造该数据结构的过程中,还需 ...
- windows核心编程 第8章201页旋转锁的代码在新版Visual Studio运行问题
// 全局变量,用于指示共享的资源是否在使用 BOOL g_fResourceInUse = FALSE; void Func1() { //等待访问资源 while(InterlockedExcha ...
- 异步编程系列06章 以Task为基础的异步模式(TAP)
p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...
- winsock编程IOCP模型实现代码
winsock编程IOCP模型实现代码 话不多说,上代码.借鉴<windows核心编程>部分源码和CSDN小猪部分代码. stdafx.h依赖头文件: #include <iostr ...
- 3-8《Ruby元编程》第二章对象模型
<Ruby元编程> 第二章 对象模型 类定义揭秘inside class definitions: class关键字更像一个作用域操作符,核心作用是可以在里面随时定义方法. [].meth ...
- [书籍翻译] 《JavaScript并发编程》第一章 JavaScript并发简介
> 本文是我翻译<JavaScript Concurrency>书籍的第一章,该书主要以Promises.Generator.Web workers等技术来讲解JavaScript并 ...
随机推荐
- easyui combotree 异步树 前端写法js
简要说下使用场景: combotree下拉框第一次加载时,请求一个接口,页面上展示顶层节点们(可以理解为最顶层的节点,比如所有的一级公司): 当点击其中一个节点前面的小三角展开时,再次请求服务器接口( ...
- easyui panel自适应浏览器宽度
一.目标效果: 当浏览器窗口大小改变时.panel宽度始终为浏览器宽度的50%,panel高度则根据其中内容的多少而变化,横向竖向滚动条皆不出现.且不需要重新刷新浏览器或者其他js代码 兼容:chro ...
- 将app现有的icon转化成圆角icon
选择圆角工具,设置半径120px 设置固定大小,然后在图片左上角开始拖动,勾勒出圆角,建立选取,自由变换,copy 选取,新建图层,删除背景,另存为,齐活 注:索引图片如何解锁: http ...
- Swift 获取plist文件展示在TableView上
// 1.定义二维数组 var data:[[String]]! override func viewDidLoad() { super.viewDidLoad() // 2.实例化tableView ...
- I.MX6 U-boot lvds display hacking
/*********************************************************************************** * I.MX6 U-boot ...
- python 安装psutil包报错:
报错: Failed building wheel for psutil Google得知,需要安装python-devel 和 wheel sudo dnf install python-devel ...
- slot的使用实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【转】VC++ 也有 Refactoring 功能了
原文网址:http://blog.csdn.net/yapingxin/article/details/18923095 分类: C++2014-02-04 14:00 2688人阅读 评论(0) 收 ...
- CentOS下用yum配置php+mysql+apache
环境: CentOS5.4 yum 想在一台CentOS的机器上安装配置支持dedeCMS的php+mysql+apache环境,把摸索的过程记录如下: 1. 安装Apahce, PHP, Mysq ...
- java web Servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...