Python学习(机器学习_多变量线性回归)

这篇博客介绍了如何使用Python进行多变量线性回归,包括通过梯度下降法和正规方程两种方法求解参数。内容展示了加载数据、特征归一化以及计算得到的theta值,并对1650平方英尺、3个卧室的房子价格进行了预测,验证了两种方法的预测结果一致。

接着上一篇,习题1第二个练习(linear regression with mutiple variables),两个变量(房子面积和房间数量),以下代码通过两个方法

  1. 通过scale feature利用梯度下降法求theta
  2. 直接代入推导出来的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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值