【Python】机器学习之单变量线性回归 利用正规方程找到合适的参数值
【Python】机器学习之单变量线性回归 利用正规方程找到合适的参数值
本次作业来自吴恩达机器学习。
你是一个餐厅的老板,你想在其他城市开分店,所以你得到了一些数据(数据在本文最下方),数据中包括不同的城市人口数和该城市带来的利润。第一列是城市的人口数,第二列是在这个城市开店所带来的利润数。
现在,求最合适的θ0和θ1,利用Normal Equation 即正规方程式
计算方法:
θ = (XT * X)-1 * XT * Y
所以写出函数
def normalEquation(X,Y): res = np.linalg.pinv((X.T * X))*X.T*Y return res
导数据文件
path = 'ex1data1.txt' data = pd.read_csv(path, header=None, names=['Population', 'Profit'])
X和Y分开,在X左边加一列作为本线性方程中的常数项。
data.insert(0, 'Ones', 1) rows = data.shape[0] cols = data.shape[1] X = data.iloc[:, 0:cols - 1] Y = data.iloc[:, cols - 1:cols] X = np.mat(X.values) Y = np.mat(Y.values)
调用函数,得到结果
res = normalEquation(X,Y) print(res)
结果为:
[[-3.89578088]
[ 1.19303364]]
PS:数据集在机器学习的第一篇中的最下方。
作者:秦羽纶
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利.