机器学习实战的备忘笔记(1)

论坛 期权论坛 脚本     
匿名技术用户   2021-1-6 16:55   25   0

这里面就不讲学习的过程和内容了,只是记录一下遇到的一些问题:

现在学习到了第二章的 2.2 节。

安装了PYTHON3.7.3

1.需要手动安装 matplotlib (一个绘制表的模块)

在CMD命令负下,到安装目录的script/下(pip 在这个目录),执行:

1.1 pip install matplotlib 最初几次都失败了,不是连不上服务器,就是找不到合适的版本。

1.2 试过从官网下载了matplotlib3.7_x86_amdwin64,安装了也说版本不对。

1.3 再次执行 pip install matplotlib ,这次下载了一半,又故障。 多重复几次测试,安装成功了

2.改变执行目录

由于实验代码下载到了用户目录,而不是放在PYTHON的执行目录,所以需要把执行目录切换过去。

>> import os

>>os.chdir('程序所在的 目录 ')

>> n= os.system('cls') #清除屏幕 只有在 cmd命令框下才有效,在 python shell 中没用

3. reload

重新加载模块。如果修改了代码,必须重新加载该代码的模块。

并且reload的模块,必须是已经import过的(毕竟是加载嘛) 。

在 python3.0后,必须哟啊加载reload模块后才能使用reload

>> from imp import reload

>>reload(...)

4. print

python 3.0 后,print变成了函数 。所以 需要加括号

pinrt"123" ---修改为--> print("123")

所以实验代码中的print都要修改

5. 做表格绘制实验时,SHOW() 之后,如果还要重新显示,必须重新从 reload(matplotlib)开始执行代码

因为plt.show()后,销毁了matplotlib的实体。

(经过实验,从fig = plt.figure() 开始重新执行即可)

6. array

python3.0后,需要import array 模块才能使用array

>>from array import array

不直接import array 是因为我们想直接用array()函数的话,必须导入该函数。否则使用时,要写完整的路径 array.array()

7. 修改源代码

kNN.py 中 48行:

classLabelVector.append( int (listFromLine[-1]) )

去掉int,改为

classLabelVector.append( listFromLine[-1] )

而在画图时

>>ax.scatter(datingDataMat[:,1] , datingDataMat[:,2], 15.0*array(datingLabels) ,15.0* array(datingLabels) )

语句修改为 :

>>ax.scatter(datingDataMat[:,1] , datingDataMat[:,2], array('i',map(int,datingLabels)) , array('i',map(int,datingLabels)) )

如果写为15.0 * array

会报告故障,说超出界限(1000)

转载于:https://www.cnblogs.com/stonenox/p/11023025.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP