IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【TensorFlow 2.0】使用 tensorflow.keras 进行线性回归 -> 正文阅读

[Python知识库]【TensorFlow 2.0】使用 tensorflow.keras 进行线性回归

1. 加载数据

# 加载数据
data = pd.read_csv('./dataset/income.csv')
x_data = data.age # 也可以用x_data= np.array([1,2,3])
y_data = data.income

2. 可视化数据

# 数据可视化
plt.scatter(x_data,y_data)
plt.ion
plt.show

3. 创建模型

# 创建tf.keras模型
model = tf.keras.Sequential() #顺序处理模型
model.add(tf.keras.layers.Dense(1,input_shape=(1,),activation='LeakyReLU')) # 添加一个层 ,此处加一个Dense层
model.summary() #显示model的Dense的形状

# 编译模型
model.complie(
    optimizer = 'adma',
    loss = 'mse'  #  "sparse_categorical_crossentropy"
)
# 模型已经编译好了,可以进行训练了

4. 开始训练

# 开始训练
history = model.fit(x_data,y_data,epochs=50000)

5. 使用训练好的模型进行预测

# 使用model预测
model.predict(x_data)

6. 完整源代码

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf

# 加载数据
data = pd.read_csv('./dataset/income.csv')
x_data = data.age # 也可以用x_data= np.array([1,2,3])
y_data = data.income

# 数据可视化
plt.scatter(x_data,y_data)
plt.ion
plt.show

# 创建tf.keras模型
model = tf.keras.Sequential() #顺序处理模型
model.add(tf.keras.layers.Dense(1,input_shape=(1,),activation='LeakyReLU')) # 添加一个层 ,此处加一个Dense层
model.summary() #显示model的Dense的形状

# 编译模型
model.complie(
    optimizer = 'adma',
    loss = 'mse'  #  "sparse_categorical_crossentropy"
)
# 模型已经编译好了,可以进行训练了

# 开始训练
history = model.fit(x_data,y_data,epochs=50000)

# 使用model预测
model.predict(x_data)

附录

1. 关于 全连接层tf.keras.layers.Dense()

tf.keras.layers.Dense(
    units,                                 # 正整数,输出空间的维数
    activation=None,                       # 激活函数,不指定则没有 ('relu','sigmoid','LeakyReLU')
    use_bias=True,						   # 布尔值,是否使用偏移向量
    kernel_initializer='glorot_uniform',   # 核权重矩阵的初始值设定项
    bias_initializer='zeros',              # 偏差向量的初始值设定项
    kernel_regularizer=None,               # 正则化函数应用于核权矩阵
    bias_regularizer=None,                 # 应用于偏差向量的正则化函数
    activity_regularizer=None,             # Regularizer function applied to the output of the layer (its "activation")
    kernel_constraint=None,                # Constraint function applied to the kernel weights matrix.
    bias_constraint=None, **kwargs         # Constraint function applied to the bias vector
)

1. 关于 model.compile()

model.compile()的作用: 设置优化器 , 损失函数 , 准确率评测标准
model.compile() 语法:
形式1

model.compile(optimizer = tf.keras.optimizers.优化器(参数),
              loss = tf.keras.losses.损失函数(参数),
              metrics = ["sparse_accuracy"]
              )

形式2

model.compile(optimizer = "sgd",
              loss = "mse",
              metrics = ["sparse_accuracy"]
              )

optimizer有四种,每种有两种表现形式:

“sgd” 或者 tf.optimizers.SGD(lr = 学习率, decay = 学习率衰减率,momentum = 动量参数)

“adagrad" 或者 tf.keras.optimizers.Adagrad(lr = 学习率, decay = 学习率衰减率)

”adadelta" 或者 tf.keras.optimizers.Adadelta(lr = 学习率,decay = 学习率衰减率)

“adam" 或者 tf.keras.optimizers.Adam(lr = 学习率, decay = 学习率衰减率)

loss有两种,每种有两种表现形式:

”mse" 或者 tf.keras.losses.MeanSquaredError()

"sparse_categorical_crossentropy" 或tf.keras.losses.SparseCatagoricalCrossentropy(from_logits = False)

Metrics标注网络评价指标,例如

"accuracy" : y_ture 和 y_pred 都是数值,如y_ = [1] y = [1] #y_为真实值,y为预测值

“sparse_accuracy":y_和y都是以独热码 和 概率分布表示,如y_ture = [0, 1, 0], y_pred = [0.256,
0.695, 0.048]

"sparse_categorical_accuracy" :检查 y_true 中的值(本身就是index) 与 y_pred 中最大值对应的index是否相等。 y_true是以数值形式给出, y_pred是以独热码给出,如y_ = [1], y = [0.256 0.695, 0.048]

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:24:55  更:2022-03-08 22:25:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/31 4:09:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码