Bootstrap

数据挖掘从入门到放弃(七):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

原始数据分布:

拟合的效果图: