tensorflow学习002——机器学习原理_线性回归

2.1 机器学习原理——线性回归

在代码目录下创建一个dataset目录,将Income1.csv放入到该目录下
链接:https://pan.baidu.com/s/1oAT_Pk-LRp1Nl1SbpzhdlQ
提取码:58wb
这个文件我放到了百度网盘的分享链接里面了

单变量线性回归算法: x代表学历,f(x)代表收入
f(x) = ax + b 只要求出a,b来就可以,至于收入和学历的关系,可以从上面的csv表格中看出是大致呈现线性关系

点击查看代码
import pandas as pd
data = pd.read_csv("./dataset/Income1.csv")
print(data)
读取csv中的数据,显示为如图2-1所示

image

图2-1

点击查看代码
import matplotlib.pyplot as plt

plt.scatter(data.Education, data.Income) #散点图
plt.show()
使用散点图显示,如图2-2,可以看出确实呈一定的线性关系

image

图2-2
呈线性关系,就可以使用f(x)=ax+b近似表示

我们的目标是:预测函数f(x)与真实值之间的整体误差最小是最好的
而定义这种误差可以使用均方差,也就是预测值和真实值之间差的平方取均值,为什么不直接使用预测值和真实值之间的差,这是因为,这个差会有正有负,最后可能得到一个整体差为0,但是效果却不一定会很好。
这里的均方差,也就是我们的损失函数
对于如何求解a,b,可以猜测a,b的值,但显然这是一种最笨的方法,我们可以使用梯度下降的算法


作者:孙建钊
出处:http://www.cnblogs.com/sunjianzhao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/sunjianzhao/p/15550983.html