数据挖掘从入门到放弃(七):TensorFlow 和 keras 实现线性回归 LinearRegression

从实践出发学习 TensorFlow 和 teras 机器学习框架,分别用 tf 和 keras 实现线性模型,两者区别在于前者相当于手推了线性回归模型,后者使用单层的感知机,很便捷。
使用 TensorFlow(2.0)
需要自定义优化器、拟合函数等,如下:
复制代码
这里说一下 TensorFlow 中求平均值函数 reduce_mean(),可以定义按照行或者列求平均值等;
复制代码
在 TensorFlow 中,梯度下降法 GradientTape 的使用:
复制代码
输出训练过程:

训练结果:;

使用 keras
keras 实现线性回归不用在意实现细节,定义一个感知机模型(单层网络)训练即可,如下:
复制代码
这里讲一下 numpy.array 和 pd.dataframe 的相互转换,一般 py 包中默认使用 numpy 作为基本的向量操作包,对于习惯使用 pd.dataframe 的人来说,要熟悉基本操作:
复制代码
原始数据分布:

拟合的效果图:

版权声明: 本文为 InfoQ 作者【数据社】的原创文章。
原文链接:【http://xie.infoq.cn/article/3e53ae554d0b885bbf5016fb8】。文章转载请联系作者。
评论