tensorflow学习006——多层感知器(神经网络)的代码实现

2.5多层感知器(神经网络)的代码实现

需要文件的链接:https://pan.baidu.com/s/1qw30xhWnezLfDZln2_CbBg
提取码:guzz

点击查看代码
import pandas as pd
data = pd.read_csv("./dataset/Advertising.csv") #将上面下载下来的文件放在代码目录下的dataset目录
print(data.head())

image
图2-12
这次的数据如图2-12所示,分别表示再TV,radio,newspaper上投入广告的费用以及最后产生的销量sales
直接上可运行代码

点击查看代码
import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = pd.read_csv("./dataset/Advertising.csv")
# print(data.head())
x = data.iloc[:,1:-1] #所有的行以及除了第一列和最后一列
y = data.iloc[:,-1] #所有的行以及最后一列
model = tf.keras.Sequential(
    #添加激活函数,增加非线性拟合效果
    [tf.keras.layers.Dense(10,input_shape=(3,),activation='relu'), #第一层是10个神经元,也就是第一层的输出是10个,输入是(3,),因为每组数据都是由三个输入数据构成
     tf.keras.layers.Dense(1)] #第二层,一个神经元,输出为1个,也即是最后的销量结果
)
print(model.summary())

model.compile(optimizer='adam',loss='mse')
model.fit(x,y,epochs=100)
#预测前10个训练集中的数据
print(model.predict(data.iloc[:10,1:-1]))
print(data.iloc[:10,-1]) #输出真实结果

image
图2-13
上面代码产生的模型结构如图2-13所示,第一层中间是10个神经元,参数是40,40=10*(3+1) 其中3表示是对输入的三个量的权重,1是每个神经元的bias偏置。


作者:孙建钊
出处:http://www.cnblogs.com/sunjianzhao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/sunjianzhao/p/15552010.html