学习《吴恩达:机器学习》作业一线性回归中的matrix和array

刚开始学习吴恩达老师的机器学习,看了前面几章,想找下课后习题及时巩固下自己的学习效果,这是大佬的链接
吴恩达机器学习作业Python实现(一):线性回归
https://blog.csdn.net/Cowry5/article/details/80174130
在运行这个程序时,博主用的是matrix,因为之前我没接触过这个函数,只学过array,于是我就将源程序中的这几行改成了这种

#我写的
X = np.array(X.values)
y = np.array(y.values)
theta = np.array([0,0])
#源程序
#X = np.matrix(X.values)
#y = np.matrix(y.values)
#theta = np.matrix([0,0])

结果第一个初始代价函数的值运行结果就和博文中的不一样,数值大了一倍,然后我就开始检查错误,猜想可能是matrix和array这两个有区别,我就去试了一下。
在这里插入图片描述
果然这两个的运行结果不一样,又查了相关的资料,贴出大佬的链接,讲解的很详细:
https://blog.csdn.net/autoliuweijie/article/details/51967288
https://www.cnblogs.com/keye/p/11195428.html

总算明白了,于是将程序改成这样:

X = np.array(X.values)
y = np.array(y.values)
theta1 = np.array([[0,0]])
theta = np.asmatrix(theta1)

问题解决

发布了25 篇原创文章 · 获赞 0 · 访问量 445

猜你喜欢

转载自blog.csdn.net/qq_45445740/article/details/104011338