《GO语言机器学习实战》问题1

本文记录了在尝试运行《GO语言机器学习实战》第二章代码时遇到的错误及解决过程。主要问题集中在plot相关错误、stat包的CorrelationMatrix函数使用不当等,通过查阅源代码和更新包版本成功修复了问题。
摘要由CSDN通过智能技术生成

开新坑

  趁着还没工作,看看有意思的东西,这片文章是解决《GO语言机器学习实战》遇到的一些问题而写的,该书的译版是这样的在这里插入图片描述
这本书大概就讲了一些应用,当然也包括最经典的MNIST手写数字识别。不过我看了一下某宝和某东,发现这本书销量不高,有一说一,小白还是使用主流的python来学习机器学习比较好,毕竟要掌握的知识和遇到的问题太多了。看这书就相当于涨涨见识吧。
  在某宝上看到该书的评论,有一个说作者给的代码都是错的,今天试着运行第二章的“线性回归——房价预测”的代码,发现IDE确实报了不少错,而该书毕竟是比较冷门的,也没有看到有什么文章来解决这些问题,幸运的是错误并不多,目前我只是把它修复并完整跑了出来,并没有研究代码是怎么写的。后续还需要看看代码逻辑,接下来还是讲讲代码的修复过程吧。

本书资源

  中文译版并没有给出该书代码的资源下载地址,在机械工业出版社我也没发现资源,幸好知道该书的英文名,还真让我搜到了。巧的是第二章给出的数据集的地址也是错的,不知道是不是译本的问题。顺便给出遇到问题的第三方库gonum的地址吧。

  1. 该书的所有代码
  2. 第二章的数据集
  3. gonum

问题以及解决

导包

  这没什么好说的,直接go mod tidy,我最后得到的go.mod文件如下

module GOML

go 1.15

require (
	github.com/pkg/errors v0.9.1
	github.com/sajari/regression v1.0.1
	golang.org/x/exp v0.0.0-20210511203234-0325d671925d
	gonum.org/v1/gonum v0.9.1
	gonum.org/v1/plot v0.9.0
	gorgonia.org/tensor v0.9.20
	gorgonia.org/vecf64 v0.9.0
)

代码报错

  导完包后,右边栏就是一大段报错了,不过棘手的也就是一处
在这里插入图片描述
  最多的报错就是跟plot相关的代码了,整个代码的报错地方有

249行、277行、310行的
p, err := plot.New()
与第325行的
l, err := plot.NewLegend()
以及第355行的
l.Font.Size = 5
比较棘手的第481行的
corr := stat.CorrelationMatrix(nil, m64, nil)
与第493行的
if c := corr.At(i, j); math.Abs(c) >= 0.5 && h1 != h2

解决方案

  对于与plot相关的报错,点进plot.New()代码里面发现其代码是这样的

// New returns a new plot with some reasonable default settings.
func 
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值