数据挖掘从入门到放弃(七):TensorFlow和keras实现线性回归LinearRegression
从实践出发学习TensorFlow和teras机器学习框架,分别用tf和keras实现线性模型,两者区别在于前者相当于手推了线性回归模型,后者使用单层的感知机,很便捷。
使用TensorFlow(2.0)
需要自定义优化器、拟合函数等,如下:
from __future__ import absolute_import, division, print_function
这里说一下TensorFlow中求平均值函数reduce_mean(),可以定义按照行或者列求平均值等;
# tf中reduce函数计算均值
在TensorFlow中,梯度下降法GradientTape的使用:
#举个例子:计算y=x^2在x = 3时的导数:
输出训练过程:

训练结果:;

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

拟合的效果图:
