Ch2.Making Reconmmendation in PCI
做《Programing Collective Intelligence》中chapter 2.Making Recommendation的实例,有3个问题花了好长时间:
1. 遇到报错"UnicodeDecodeError: ‘gbk’ codec can’t decode bytes in position 2-3: illegal multibyte sequence"。看了http://www.tuicool.com/articles/nEjiEv这篇文章confirm了是编解码的问题,明显Python是用gbk解码数据文件的,而数据文件是用其他方式编码。用Notepad++能看到文件是encoding in ANSI,是用ANSI编码的。http://zhidao.baidu.com/link?url=JWUp5uFuU0lhUXVclozgbZybW9jVu8SfYbUHqQyGakr-27hhoy5xYrMSgtjuMEHZQLDy2HEe-DN6SKmekbUE2q这篇知道里提及open()有encoding这个argument可以设置解码方式,于是把encoding设置成utf-8,把数据文件u.item也在notepad里保存成encoding in utf-8。结果呢,还是不行,还是报gbk给您解不了码。后来就用help(open)查open这个属性到底怎么用,没道理啊,设成utf-8怎么还gkb在解啊。终于,才知道,当encoding=utf-8时只能解码用utf-8编码的text file,而我的数据文件是item类型(具体item是个什么文件类型,不详)。就用notepad把.item另存为.txt,这才可以顺利解码读取数据文件了。
2. 第二个问题是在用pydelicious API时报了很多invalid syntax的错,因为里面有许多语法没有见过,没法下判断,没法针对性去搜solution,就先放放了。
3. 第三个遇到的是keyerror,http://scnjl.iteye.com/blog/905177这篇文章提到“用dict[key]这个读取会报KeyError异常”,在知道不是数据不是自己操作有问题,果断用了try..except pass把异常pass掉,证明也没用影响结果。
除了上述python程序语法上的问题,其实关于做推荐的逻辑还没有好好看透,只是先把程序代码抄下来走通了,还要再程序再看上几遍。
Ch2.Making Reconmmendation in PCI的更多相关文章
- Linux mips64r2 PCI中断路由机制分析
Linux mips64r2 PCI中断路由机制分析 本文主要分析mips64r2 PCI设备中断路由原理和irq号分配实现方法,并尝试回答如下问题: PCI设备驱动中断注册(request_irq) ...
- 【转】PCI学习笔记
1.PCI设备编号 每一个PCI device都有其unique PFA(PCI Fcntion Address) PFA由 bus number.device number.functi ...
- PCI Express(六) - Simple transactions
原文地址:http://www.fpga4fun.com/PCI-Express6.html Let's try to control LEDs from the PCI Express bus. X ...
- PCI Express(五) - Xilinx wizard
原文地址:http://www.fpga4fun.com/PCI-Express5.html Xilinx makes using PCI express easy - they provide a ...
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(5)-如何为硬件移植驱动程序
原文地址:http://www.cnblogs.com/jacklu/p/6139347.html 正如前几篇博客所说,使用WDF开发PCIe驱动程序是我本科毕业设计的主要工作.在读研的两年,我也分别 ...
- Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作
2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...
- PCI在linux系统中注册与注销示例
1. pci_driver结构struct pci_driver { struct list_head node; const char *name; const struct pc ...
- KVM 介绍(4):I/O 设备直接分配和 SR-IOV [KVM PCI/PCIe Pass-Through SR-IOV]
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...
- PCI Express(四) - The transaction layer
原文出处:http://www.fpga4fun.com/PCI-Express4.html 感觉没什么好翻译的,都比较简单,主要讲了TLP的帧结构 In the transaction layer, ...
随机推荐
- laravel实现第三方登录
https://github.com/laravel/socialite 这是官方的第三方登录包,支持很多国外的第三方登录 https://github.com/overtrue/socialite ...
- 怎么在Form1调用Form2中的成员?
第一种情况,form1和form2有关系,也就可以说成是form1里面有个事件,通过这个事件来打开form2在这个情况下这么写form2 f2 = new form2(这里写form1中的变量值)f2 ...
- 根据不同的屏幕宽度引入不同的css文件
<link rel="stylesheet" href="css/jl_public.css?v=11"/> <link rel=" ...
- 33-Url辅助方法
Url辅助方法与HTML辅助方法很类似,HTML辅助方法用来产生HTML标签,而Url辅助方法则负责用来产生Url网址. @Url.Action("About") 最后的输出网址如 ...
- java的HashMap与ConcurrentHashMap
好像今天没有什么源码读,那么就来看看java的这两种HashMap有啥不一样的地方吧,在这之前先普及一下HashMap的一些基本知识: (1)放入HashMap的元素是key-value对. (2)底 ...
- Batman+joker乱谈
偶然一天内两次看到关于希斯·莱杰的文章(上面这个joker),貌似很多地方看到过这个,但是为什么他这么出名.知乎上的一篇文章 http://daily.zhihu.com/story/434137 ...
- lambda表達式
lambda简介 lambda运算符:所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者 “成为”.运算符将表达式分为两部分,左边指定 ...
- nyoj------170网络的可靠性
网络的可靠性 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 A公司是全球依靠的互联网解决方案提供商,也是2010年世博会的高级赞助商.它将提供先进的网络协作技术,展 ...
- hdu---1024Max Sum Plus Plus(动态规划)
Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- [工程备案]linux基本命令以及C和C++编程
whereis 查看程序安装在了哪里 where 产看运行程序在哪里. libtool --mode=link g++ test.cpp -o test libSegmentorForSim2T ...