斯坦福机器学习ex1.1(python)
使用的工具:NumPy和Matplotlib
NumPy是全书最基础的Python编程库。除了提供一些高级的数学运算机制以外,还具备非常高效的向量和矩阵运算功能。这些对于机器学习的计算任务是尤为重要的。因为不论是数据的特征表示也好,还是参数的批量设计也好,都离不开更加快捷的矩阵和向量计算。而NumPy更加突出的是它内部独到的设计,使得处理这些矩阵和向量计算比起一般程序员自行编写,甚至是Python自带程序库的运行效率都要高出许多。
Matplotlib是一款Python编程环境下免费试用的绘图工具包,其工作方式和绘图命令几乎和matlab类似。
操作步骤:
1.数据初始化,将数据存放到x,y当中。
print("Plotting Data...\n")
fr=open('ex1data1.txt')
arrayLines=fr.readlines()
numberOfLines=len(arrayLines)
x=np.zeros((numberOfLines,1))
y=np.zeros((numberOfLines,1))
index=0
for line in arrayLines:
line = line.strip()
listFormLine = line.split(",")
x[index, :] = listFormLine[:1]
y[index] = listFormLine[-1]
index += 1
2.求取代价函数(cost function)

def computeCost(X,y,theta):
m=X.shape[0]
XMatrix=np.mat(X)
yMatrix=np.mat(y)
thetaMatrix=np.mat(theta) J=1/(2*float(m))*sum((np.array(XMatrix*thetaMatrix-yMatrix))**2)
return J
3.采取梯度下降算法进行计算,首先将theta0与theta1都初始化为0,再使alpha为0.01,进行计算


def gradientDescent(X,y,theta,alpha,iterations):
m=len(y)
J_history=np.zeros((iterations,1))
theta_s=theta.copy()
for i in range(iterations):
theta[0]=theta[0]-(alpha/m)*np.sum(np.mat(X)*np.mat(theta_s)-np.mat(y))
p1=np.mat(X)*np.mat(theta_s)-np.mat(y)
p2=X[:,1]*p1
theta[1]=theta[1]-(alpha/m)*p2
theta_s=theta.copy()
J_history[i,:]=computeCost(X,y,theta)
return theta
4.将数据可视化显示

详细代码:https://github.com/xingxiaoyun/StanfordMachineLearning/blob/master/ex1.py
斯坦福机器学习ex1.1(python)的更多相关文章
- 机器学习算法与Python实践之(四)支持向量机(SVM)实现
机器学习算法与Python实践之(四)支持向量机(SVM)实现 机器学习算法与Python实践之(四)支持向量机(SVM)实现 zouxy09@qq.com http://blog.csdn.net/ ...
- cs229 斯坦福机器学习笔记(一)-- 入门与LR模型
版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/Dinosoft/article/details/34960693 前言 说到机器学习,非常多人推荐的学习资 ...
- 机器学习算法与Python实践之(三)支持向量机(SVM)进阶
机器学习算法与Python实践之(三)支持向量机(SVM)进阶 机器学习算法与Python实践之(三)支持向量机(SVM)进阶 zouxy09@qq.com http://blog.csdn.net/ ...
- 机器学习算法与Python实践之(二)支持向量机(SVM)初级
机器学习算法与Python实践之(二)支持向量机(SVM)初级 机器学习算法与Python实践之(二)支持向量机(SVM)初级 zouxy09@qq.com http://blog.csdn.net/ ...
- 斯坦福机器学习视频笔记 Week1 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
- 关于Coursera上的斯坦福机器学习课程的编程作业提交问题
学习Coursera上的斯坦福机器学习课程的时候,需要向其服务器提交编程作业,我遇到如下问题: 'Submission failed: unexpected error: urlread: Peer ...
- 机器学习算法与Python实践之(五)k均值聚类(k-means)
机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学 ...
- 机器学习算法与Python实践之(六)二分k均值聚类
http://blog.csdn.net/zouxy09/article/details/17590137 机器学习算法与Python实践之(六)二分k均值聚类 zouxy09@qq.com http ...
- 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
http://blog.csdn.net/zouxy09/article/details/20319673 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression) z ...
随机推荐
- IOP知识点(4)
1.选择多个“li”后,如何再次筛选. 2 按钮屏蔽功能 1.选择多个“li”后,如何再次筛选. 2 按钮屏蔽功能 http://gitserver/iop/cloud-iopm-web/issues ...
- jenkins借助winscp传本地文件到远程服务器上
有这样的场景,我们的ftp上都是些重要的资料,所以大家基本只有可看的权限,只有部分管理人员有可读可写的权限,但是jenkins上基本使用的都是ftp的路径,这个时候就存在一些问题,某些开发需要将自己构 ...
- MongoDB--编译文件
-j 加你的cpu核数来加速编译过程 编译出错可以自行安装所需依赖. 或者去官网直接下载编译好的二进制,直接执行. 编译好之后查看文件: mongod:mongodb的执行程序,数据库部署也用这个程序 ...
- NPOI设置单元格格式
转自:http://www.cr173.com/html/18143_2.html //创建一个常用的xls文件 private void button3_Click(object sender, E ...
- 关于原始input的一些事情
1.关于input type为number时 maxlength失效 <input class="myfrom-input" type="text" id ...
- (已解决)Xcode 运行报错: clang: error: unknown argument: '-websockets'
报错内容: 解决办法:
- css抖动动画
button{ animation: beat 6s ease 0s infinite normal; } @keyframes beat { 0% { transform: translateY(0 ...
- WebSocket.之.基础入门-后端响应消息
WebSocket.之.基础入门-后端响应消息 在<WebSocket.之.基础入门-前端发送消息>的代码基础之上,进行添加代码.代码只改动了:TestSocket.java 和 inde ...
- React项目中使用Mobx状态管理(一)
1.安装 $ yarn add mobx mobx-react 2.新建store/index.js,存放数据(以下思路仅限于父子组件的简单应用) 注意:这里暂时没使用装饰器@observable,装 ...
- CoreWebApi集成Exceptionless
参考博客 https://www.cnblogs.com/akaxb/p/7207827.html 一. Exceptionlessr的安装部署 依乐祝,<ASP.NET Core免费开源分布式 ...