问题一:
运行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]))