文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

《机器学习实战》书中python2.7与

2023-01-31 02:07

关注

《机器学习实战》书中使用的是python2.7,而对于现在新接触python的同学来说都是上手python3.6版本。

由于本渣渣也正在学习此书,将陆续列出遇到的不同于现实编码的困难与解决方法(如果能解决的话.......)。


1.import numpy时候,书中提倡from numpy import *
而我们在学习python3.6时常用import numpy as np,于是在调用tile、zeros等函数时,要改为np.tile(),np.zeros()。


2.输出的print后边要加上()


3.在使用pickle打开文件时,由于打开方式时二进制,要在‘w’后面或者‘r’后面加上‘b’,如‘wb’

    import pickle
    fw = open(filename,'wb')                   #pickle是二进制打开,加b
    pickle.dump(inputTree,fw)
    fw.close()

4.书中的获取字典dict的keys方法dict.keys()获得的字典集不是list形式不能直接使用'[ ]'取值

这是python2.7的取值方法,在3.6中应该改为如下:

str = list(dict.keys())[0]
先将dict.keys()转化为list形式

5.在第四章出现一个无法解决的问题:

tokenText = textParse(open('E:/BigData/machinelearninginaction/Ch04/email/spam/%d.txt' % i).read())

这个打开文件会出现解码错误的问题:'gbk' codec can't decode byte 0xff in position 199

然后我试着用‘utf-8’ 出现:'utf-8' codec can't decode byte 0xff in position 43

似乎是这些文件中有两种的编码的方式。于是我只提取前15个文件,不用修改就成功了。

试了很多方法,全部文件的读取还是没有成功。

如果同时解码多个编码方式还是没有解决。


6.在一个dataSet = range(50),中 del(dataSet[30])会出现错误

因为range返回的是range object 先将起转化为list

如:dataSet = list(range(50))


7.第九章中在加载数据时有这块代码:

for line in fr.readlines():
        curline = line.strip().split('\t')
        fltLine = map(float,curline)
        dataMat.append(fltLine)
这里会报错,提示map对象不能做mean处理,原因是python 2.7的map返回的是直接的结果,而python 3.6中返回的是map的对象:

<map object at 0x00000000021DA860> 
这里把这个对象转化为list即可,具体整个代码块改为:

for line in fr.readlines():
        curline = line.strip().split('\t')
        curline = list(map(float,curline))
        dataMat.append(curline)





阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯