单变量线性回归
在本部分的练习中,您将使用一个变量实现线性回归,以预测食品卡车的利润。假设你是一家餐馆的首席执行官,正在考虑不同的城市开设一个新的分店。该连锁店已经在各个城市拥有卡车,而且你有来自城市的利润和人口数据。
您希望使用这些数据来帮助您选择将哪个城市扩展到下一个城市。
数据ex1data1.txt在下一篇文章里。
导入需要用到的模块:
import matplotlib.pyplot as plt #画图工具
import pandas as pd
import numpy as np #一个开源的Python科学计算基础库
from matplotlib.colors import LogNorm
from mpl_toolkits.mplot3d import axes3d,Axes3D
part1:画出散点图
#定义plot_data函数画出散点图
def plot_data(x,y):
plt.plot(x,y,'rx')
plt.show()
data=np.loadtxt('ex1data1.txt',delimiter=',')#加载数据
X=data[:,0]
y=data[:,1]
m=y.size
plt.ion()
plt.figure(0)
plot_data(X,y)
运行结果:
part2:代价函数
(1)理论函数:hθ(x)=θ0+θ1∗x
其中两个θ是位置参数,我们的目的是求出他俩的值。
(2) 代价函数
我们取怎样的θ值可以使预测值更加准确呢?
想想看,我们应使得每一个预测值hθ和真实值y差别不大,可以定义代价函数如下: