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, ...
随机推荐
- div contenteditable placeholder
contenteditable型的编辑框,实现placeholder的方式有两种 第一种,Css的实现方式: <!DOCTYPE html> <html lang="en& ...
- jq实现某个标签内,达到一定字数后,剩下的用 ... 显示
$(".infom_con").each(function(){ var text=$(this).find("a").text(); var len=text ...
- jmeter 建立一个JMS点对点测试计划
确保所需的jar文件在JMeter的 自由 目录中. 如果他们不是,关闭JMeter, 重启JMeter复制jar文件. 看到 开始 获取详细信息. 测试的设置是1与5线程发送4 thread ...
- target不起作用了
原因是 <a href="",target></a>中间多了个逗号.
- Java 容器(集合)
import java.util.*; 一.基础概念 1.什么是容器? 2.为什么需要容器? 3.容器的分类? 二.重点知识 List接口 Collections类 (1)为什么需要? Collect ...
- Collecting Bugs(POJ 2096)
Collecting Bugs Time Limit: 10000MS Memory Limit: 64000K Total Submissions: 3064 Accepted: 1505 ...
- eclipse 安装git的插件和上传项目
这里有个链接,已经很详细的写了过程 博客1以及博客2.其实遇到安装的问题,就是因为我用的eclipse版本比较老,但是eclipse里面又装了好多插件,不想在重新安装eclipse.还有一个很好的博 ...
- H5网页动画制作(页面切换、效果等)
网址 http://www.ih5.cn/#mine/home/194080 13482289820 视频教程 http://file.ih5.cn/?nid=713629&key=aef10 ...
- MySQL数据库百万级高并发网站实战
在一开始接触PHP接触MYSQL的时候就听不少人说:“MySQL就跑跑一天几十万IP的小站还可以,要是几百万IP就不行了”,原话不记得了,大体 就是这个意思.一直也没有好的机会去验证这个说法,一是从没 ...
- hdu 4609 3-idiots
http://acm.hdu.edu.cn/showproblem.php?pid=4609 FFT 不会 找了个模板 代码: #include <iostream> #include ...