吴恩达机器学习作业:线性回归
1.单变量线性回归
导入需要使用的包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
导入数据集。提醒大家:一定要把数据文件ex1data1.txt放在和程序同一个文件夹里,否则需要使用绝对路径访问文件
path = 'ex1data1.txt'
data = pd.read_csv(path, header=None, names=['Population', 'Profit'])#names列名
data.head()
在开始任何任务之前,通过可视化来理解数据通常是有用的。
对于这个数据集,您可以使用散点图来可视化数据,因为它只有两个属性(利润和人口)。
data.plot(kind='scatter', x='Population', y='Profit', figsize=(12,8))
plt.show()
现在让我们使用梯度下降来实现线性回归,以最小化成本函数。 以下代码示例中实现的方程在“练习”文件夹中的“ex1.pdf”中有详细说明。
首先,我们将创建一个以参数θ为特征函数的代价函数
计算代价函数J(θ)
def computeCost(X, y, theta):
# your code here (appro ~ 2 lines)
predictions = X*theta.T
sqrErrors = np.square(predictions-y