正规方程法求解多变量线性回归最优解
正规方程法
关于正规方程求解的数学推导原理参加另一篇博文和吴恩达的机器学习公开课,blog如下,本文直接使用结论:
https://blog.csdn.net/weixin_39449570/article/details/78520543
关于梯度下降法和正规方程法的使用场景参加吴恩达机器学习公开课,此处截图如下。另外采用正规方程法无需进行Feature值的归一化。
正规方程法的Numpy实现
案例 - 房价预测
数据集:HousePrices - https://vincentarelbundock.github.io/Rdatasets/datasets.html
环境:python + Numpy
# Author: Daniel Geng
import csv
import numpy as np
def importData(filePath): #r"C:\Users\64134\PycharmProjects\pythonProject\NorminalEquationLinearRegression\DataSource\MiniHousePrices"
X = [] #2D arrays [[1, x11, x12, ...], [], ...[]], each item is a [] which contains columns of each row
Y = [] #Stands for vector of prices, Y = X * theta
f = open(filePath)
r = csv.reader(f, delimiter = ',')
r.__next__() #Skip header row
for row in r:
rowX = [1.0]
for i in row[2:]:
if i == 'yes':
i = 1.0
elif i == 'no':
i = 0.0
rowX.append(float(i))
X.append(rowX)
Y.append(float(row[1]))
return(X, Y)
Xvalue, Yvalu