10.28 keras的Sequential模型编写方式

问题一:

运行python文件报SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: tr 解决:
在路径前面加r,即保持字符原始值的意思 sys.path.append(r’c:\Users\mshacxiang\VScode_project\web_ddt’)

读取本地csv数据,并用matplotlib画图

pd.read_csv()
作用:将csv文件读入并转化为数据框形式。

import tensorflow as tf
import pandas as pd
data = pd.read_csv(r'c:\Users\Administrator\Desktop\Income1.csv')
print(data)

问题二:
%matplotlib inline报错
解决:

%matplotlib作用 是在使用jupyter notebook 或者 jupyter
qtconsole的时候,才会经常用到%matplotlib,也就是说那一份代码可能就是别人使用jupyter notebook 或者
jupyter qtconsole进行编辑的。
而%matplotlib具体作用是当你调用matplotlib.pyplot的绘图函数plot()进行绘图的时候,或者生成一个figure画布的时候,可以直接在你的python
console里面生成图像。 而我们在spyder或者pycharm实际运行代码的时候,可以直接注释掉这一句,也是可以运行成功的。

在任何绘图之前,我们需要一个Figure对象,可以理解成我们需要一张画板才能开始绘图。

import matplotlib.pyplot as plt
fig = plt.figure()
plt.scatter(data.Education, data.Income )    #以表中的Education列为x,Income为y
plt.show()

在这里插入图片描述

引用:tf.keras学习总结(一):keras的Sequential模型编写方式

tf.keras训练模型例子:实现单变量线性回归
版权声明:本文为博主的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
单变量线性回归算法(如,x代表学历,f(x)代表收入):f(x)=ax+b
在这里插入图片描述
整个过程可分为五步:
1、创建Sequential模型
2、添加所需要的神经层
3、使用.compile方法确定模型训练结构
4、使用.fit方法使模型与训练数据“拟合”
5、predict方法进行预测。

x = data.Education
y = data.Income
model = tf.keras.Sequential() # 顺序模型

model.add(tf.keras.layers.Dense(1, input_shape=(1,)))
model.summary()  #ax+b


Output Shape 里的(None,1)中 None代表输入样本个数,建立模型时不需要考虑
Param为2,表示有两个参数,a和b

    model.compile(optimizer='adam', loss='mse') 
    #optimizer='adam'优化算法是梯度下降法
    # loss='mse'损失函数为均方差
    history = model.fit(x, y, epochs=5000 
    #epochs=5000对所有数据训练5000次
   

在这里插入图片描述

model.predict(pd.Series([20]))    # 或者准确指定一个受教育年限

pd.Series()函数 Pandas模块的数据结构主要有两种:1.Series 2.DataFrame Series
是一维数组,基于Numpy的ndarray 结构,是一个一维的标签矩阵(感觉跟python里的字典结构有点像)
Series创建

pd.Series([list],index=[list])
参数为list ,index为可选参数,若不填写则默认为index从0开始

import pandas as pd
s=pd.Series([1,2,3,4,5],index=['a','b','c','f','e'])
print s

在这里插入图片描述
参考1
参考2
详解keras的model.summary()输出参数Param计算过程

import tensorflow as tf
from tensorflow.keras import layers
import pandas as pd
import numpy as np
data = pd.read_csv(r'c:\Users\Administrator\Desktop\Income1.csv')
print(data)
import matplotlib.pyplot as plt
fig = plt.figure()
plt.scatter(data.Education, data.Income)
# plt.show()

x = data.Education
y = data.Income
model = tf.keras.Sequential() # 顺序模型

model.add(tf.keras.layers.Dense(1, input_shape=(1,)))
model.summary()
model.compile(optimizer='adam', loss='mse')
history = model.fit(x, y, epochs=5000)

model.predict(pd.Series([20]))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值