coursera机器学习课程——Programming Exercise 1:Linear Regression

Programming Exercise 1:Linear Regression

本文主要是对coursera上机器学习课程第一次编程作业中英文pdf的个人翻译及涉及的程序的编写,编译环境为matlab。

本训练会使用线性回归,并观察他怎么应用在数据上。


Files included in this exercise

ex1.m,ex1_multi.m,ex1data1.txt,ex1data2.txt,submit.m

需要去填写完成的程序

warmUpExercise.m,plotData.m,computeCost.m,gradientDescent.m,computeCostMulti.m,gradientDescentMulti.m,featureNormalize.m,normalEqn.m


本次练习中会用到ex1.m和ex1_multi.m。这俩脚本程序会配置问题所需要数据和调用你需要写的代码。不需要改动他们。只需要完成第一部分,第二部分是选作的。有兴趣也可以写第二部分,我写了。


1.Simple Octave/Matlab function

ex1.m的第一部分帮你训练octave/matlab,在warmUpExercise.m中,你会发现一个Octave/MATLAB函数的框架。通过填入以下代码来修改它,返回一个5*5的单位矩阵。

A=eye(5);

完成后会生成一个对角单位阵,现在ex1.m会暂停,直到你按下任意键。他会接下来完成任务的其他部分。如果你想退出,按下ctrl-c。

1.1submitting Solutions

完成训练中的一部分后,可以使用submit函数上传你的答案,来获得评分。


2.单变量线性回归

本部分,你会使用单变量线性回归来预测食物货车的收益。假设你是一个餐馆的CEO,并想在不同的城市来开分店。城市链之间有货车来送,并且你有了不同城市的收益和人口的数据。你想用这些数据来帮你选择哪个城市来开下一家店。

文件ex1data1.txt包含了用于我们线性回归问题的数据集。第一列是城市人口,第二列是该城食物货车的收益。负值说明了收益减少。ex1.m已经为你准备好了这些数据。

2.1plotting the data

在开始任何工作之前,首先把数据可视化是很有用的。对于这个数据集,能够使用离散画图来可视化这些数据,由于它只含有两种属性来画图(profit&population)。其他很多你在实际生活中遇到的情况可能是多维的,而不能通过2D来画出来。

Ex1.m中,数据集从数据文件中load出来,成为变量x和y。


data = load('ex1data1.txt');
X = data(:, 1); y = data(:, 2);
m = length(y); % number of training examples


接下来,脚本会调用plotData函数来画出数据。任务是完成plotData.m,修改文件,并填入以下代码。

plot(x, y, ' rx' , ' MarkerSize' , 10); % Plot the data
ylabel(' Profit in $10,000s' ); % Set the y−axis label
xlabel(' Population of City in 10,000s' ); % Set the x−axis label


 

现在,当你继续运行ex1.m时,我们的结果可能如图1.


function plotData(x, y)
%PLOTDATA Plots the data points x and y into a new figure 
%   PLOTDATA(x,y) plots the data points and gives the figure axes labels of
%   population and profit.
 
figure; % open a new figure window
 
% ====================== YOUR CODE HERE ======================
% Instructions: Plot the training data into a figure using the 
%               "figure" and 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值