接着上一篇,习题1第二个练习(linear regression with mutiple variables),两个变量(房子面积和房间数量),以下代码通过两个方法
- 通过scale feature利用梯度下降法求theta
- 直接代入推导出来的theta公式
通过验算测试参数,可以得知两个方法预测结果相同
#Part1:Load Data
print "Loading data...\n"
f=open('C:\Python27\machinelearning\ex1data2.txt')
data=[]
for line in f:
data.append(map(float,line.split(",")))
m=len(data)
import numpy as np
#将数据由列表形式转化为矩阵
data=np.asmatrix(data)
#提取每一行数据
X=data[:,0]
N=data[:,1]
y=data[:,2]
X=np.hstack((X,N))
#水平合并后X包含两个变量:房间面积和数量
print "First 10 examples from the dataset:\n"
print "X=\n",X[0:10]
print "y=\n",y[0:10]
#Part 2: Gradient Descent
#将数据参数规则化
print "Normalizing Features...\n"
#定义变量参数规则化函数——参考(http://sobuhu.com/ml/2012/12/29/normalizatio