tensorflow2实现多层感知机

用到的数据集是 Advertising数据集,是关于广告收益与广告在不同的媒体上投放的相关数据,分别是在TV,Radio,Newspaper三种媒体上投放花费与,投放所产生的收益的数据,数据共有200条。

Advertising数据集下载地址:链接:https://pan.baidu.com/s/1CMVzkOGIdEB7vn03s0mLCA提取码:otex
1、用pandas读取数据集

import pandas as pd
data = pd.read_csv('dataset/Advertising.csv')
data

可以看到其格式如下

 Unnamed: 0TVradionewspapersales
01230.137.869.222.1
1244.539.345.110.4
2317.245.969.39.3
34151.541.358.518.5
45180.810.858.412.9
..................
19519638.23.713.87.6
19619794.24.98.19.7
197198177.09.36.412.8
198199283.642.066.225.5
199200232.18.68.713.4

200 rows × 5 columns

2、构建多层感知机对其进行回归

import tensorflow as tf
x = data.iloc[:,1:-1]
y = data.iloc[:,-1]
model = tf.keras.Sequential([
    tf.keras.layers.Dense(10,input_shape=(3,),activation='relu'),
    tf.keras.layers.Dense(1)
])
model.compile(optimizer = 'adam',
              loss = 'mse'
)

model.summary()

构建模型详情为:

Model: "sequential_2"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_3 (Dense)              (None, 10)                40        
_________________________________________________________________
dense_4 (Dense)              (None, 1)                 11        
=================================================================
Total params: 51
Trainable params: 51
Non-trainable params: 0
_________________________________________________________________

3、对模型进行训练

model.fit(x,y,epochs=200)
Train on 200 samples
Epoch 1/200
200/200 [==============================] - 0s 590us/sample - loss: 273.4520
Epoch 2/200
200/200 [==============================] - 0s 0s/sample - loss: 194.7319
Epoch 3/200
200/200 [==============================] - 0s 0s/sample - loss: 140.4856
Epoch 4/200
200/200 [==============================] - 0s 50us/sample - loss: 115.1562
Epoch 5/200
200/200 [==============================] - 0s 50us/sample - loss: 103.4288
Epoch 6/200
200/200 [==============================] - 0s 34us/sample - loss: 100.3007
Epoch 7/200
200/200 [==============================] - 0s 60us/sample - loss: 96.4272
Epoch 8/200
200/200 [==============================] - 0s 40us/sample - loss: 92.4249
Epoch 9/200
200/200 [==============================] - 0s 60us/sample - loss: 87.2561
Epoch 10/200
200/200 [==============================] - 0s 40us/sample - loss: 82.9215
Epoch 11/200
200/200 [==============================] - 0s 60us/sample - loss: 79.0016
Epoch 12/200
200/200 [==============================] - 0s 20us/sample - loss: 75.0967
Epoch 13/200
200/200 [==============================] - 0s 20us/sample - loss: 71.2564
Epoch 14/200
200/200 [==============================] - 0s 20us/sample - loss: 67.9018
Epoch 15/200
200/200 [==============================] - 0s 40us/sample - loss: 64.3448
Epoch 16/200
200/200 [==============================] - 0s 40us/sample - loss: 61.1640
Epoch 17/200
200/200 [==============================] - 0s 40us/sample - loss: 57.8046
Epoch 18/200
200/200 [==============================] - 0s 40us/sample - loss: 54.6231
Epoch 19/200
200/200 [==============================] - 0s 40us/sample - loss: 51.2900
Epoch 20/200
200/200 [==============================] - 0s 40us/sample - loss: 48.3863
Epoch 21/200
200/200 [==============================] - 0s 40us/sample - loss: 45.3102
Epoch 22/200
200/200 [==============================] - 0s 20us/sample - loss: 42.2983
Epoch 23/200
200/200 [==============================] - 0s 20us/sample - loss: 39.1970
Epoch 24/200
200/200 [==============================] - 0s 40us/sample - loss: 36.4386
Epoch 25/200
200/200 [==============================] - 0s 40us/sample - loss: 33.7846
Epoch 26/200
200/200 [==============================] - 0s 40us/sample - loss: 31.2897
Epoch 27/200
200/200 [==============================] - 0s 20us/sample - loss: 28.7051
Epoch 28/200
200/200 [==============================] - 0s 40us/sample - loss: 26.1368
Epoch 29/200
200/200 [==============================] - 0s 40us/sample - loss: 23.5193
Epoch 30/200
200/200 [==============================] - 0s 40us/sample - loss: 21.2189
Epoch 31/200
200/200 [==============================] - 0s 20us/sample - loss: 19.3517
Epoch 32/200
200/200 [==============================] - 0s 20us/sample - loss: 17.5733
Epoch 33/200
200/200 [==============================] - 0s 20us/sample - loss: 16.0759
Epoch 34/200
200/200 [==============================] - 0s 40us/sample - loss: 14.8730
Epoch 35/200
200/200 [==============================] - 0s 40us/sample - loss: 13.8378
Epoch 36/200
200/200 [==============================] - 0s 60us/sample - loss: 12.9185
Epoch 37/200
200/200 [==============================] - 0s 60us/sample - loss: 12.2530
Epoch 38/200
200/200 [==============================] - 0s 60us/sample - loss: 11.5455
Epoch 39/200
200/200 [==============================] - 0s 40us/sample - loss: 10.9511
Epoch 40/200
200/200 [==============================] - 0s 40us/sample - loss: 10.5460
Epoch 41/200
200/200 [==============================] - 0s 40us/sample - loss: 10.1069
Epoch 42/200
200/200 [==============================] - 0s 40us/sample - loss: 9.7535
Epoch 43/200
200/200 [==============================] - 0s 20us/sample - loss: 9.4201
Epoch 44/200
200/200 [==============================] - 0s 20us/sample - loss: 9.0841
Epoch 45/200
200/200 [==============================] - 0s 40us/sample - loss: 8.8426
Epoch 46/200
200/200 [==============================] - 0s 40us/sample - loss: 8.6157
Epoch 47/200
200/200 [==============================] - 0s 40us/sample - loss: 8.3555
Epoch 48/200
200/200 [==============================] - 0s 40us/sample - loss: 8.2362
Epoch 49/200
200/200 [==============================] - 0s 20us/sample - loss: 7.9889
Epoch 50/200
200/200 [==============================] - 0s 20us/sample - loss: 7.7945
Epoch 51/200
200/200 [==============================] - 0s 40us/sample - loss: 7.6098
Epoch 52/200
200/200 [==============================] - 0s 40us/sample - loss: 7.4422
Epoch 53/200
200/200 [==============================] - 0s 40us/sample - loss: 7.3042
Epoch 54/200
200/200 [==============================] - 0s 40us/sample - loss: 7.1000
Epoch 55/200
200/200 [==============================] - 0s 20us/sample - loss: 7.0053
Epoch 56/200
200/200 [==============================] - 0s 20us/sample - loss: 6.9254
Epoch 57/200
200/200 [==============================] - 0s 20us/sample - loss: 6.7701
Epoch 58/200
200/200 [==============================] - 0s 20us/sample - loss: 6.6465
Epoch 59/200
200/200 [==============================] - 0s 40us/sample - loss: 6.5616
Epoch 60/200
200/200 [==============================] - 0s 40us/sample - loss: 6.4437
Epoch 61/200
200/200 [==============================] - 0s 40us/sample - loss: 6.3310
Epoch 62/200
200/200 [==============================] - 0s 45us/sample - loss: 6.2673
Epoch 63/200
200/200 [==============================] - 0s 20us/sample - loss: 6.1871
Epoch 64/200
200/200 [==============================] - 0s 60us/sample - loss: 6.1090
Epoch 65/200
200/200 [==============================] - 0s 60us/sample - loss: 6.0285
Epoch 66/200
200/200 [==============================] - 0s 60us/sample - loss: 5.9562
Epoch 67/200
200/200 [==============================] - 0s 60us/sample - loss: 5.8917
Epoch 68/200
200/200 [==============================] - 0s 40us/sample - loss: 5.8315
Epoch 69/200
200/200 [==============================] - 0s 40us/sample - loss: 5.7629
Epoch 70/200
200/200 [==============================] - 0s 40us/sample - loss: 5.7448
Epoch 71/200
200/200 [==============================] - 0s 40us/sample - loss: 5.6482
Epoch 72/200
200/200 [==============================] - 0s 40us/sample - loss: 5.6029
Epoch 73/200
200/200 [==============================] - 0s 40us/sample - loss: 5.5018
Epoch 74/200
200/200 [==============================] - 0s 20us/sample - loss: 5.4211
Epoch 75/200
200/200 [==============================] - 0s 20us/sample - loss: 5.3095
Epoch 76/200
200/200 [==============================] - 0s 40us/sample - loss: 5.2413
Epoch 77/200
200/200 [==============================] - 0s 40us/sample - loss: 5.1914
Epoch 78/200
200/200 [==============================] - 0s 40us/sample - loss: 5.1271
Epoch 79/200
200/200 [==============================] - 0s 40us/sample - loss: 5.0880
Epoch 80/200
200/200 [==============================] - 0s 20us/sample - loss: 5.0708
Epoch 81/200
200/200 [==============================] - 0s 20us/sample - loss: 4.9938
Epoch 82/200
200/200 [==============================] - 0s 40us/sample - loss: 4.9652
Epoch 83/200
200/200 [==============================] - 0s 40us/sample - loss: 4.9094
Epoch 84/200
200/200 [==============================] - 0s 40us/sample - loss: 4.8671
Epoch 85/200
200/200 [==============================] - 0s 40us/sample - loss: 4.8637
Epoch 86/200
200/200 [==============================] - 0s 40us/sample - loss: 4.7988
Epoch 87/200
200/200 [==============================] - 0s 20us/sample - loss: 4.7624
Epoch 88/200
200/200 [==============================] - 0s 20us/sample - loss: 4.7319
Epoch 89/200
200/200 [==============================] - 0s 40us/sample - loss: 4.6933
Epoch 90/200
200/200 [==============================] - 0s 41us/sample - loss: 4.6635
Epoch 91/200
200/200 [==============================] - 0s 39us/sample - loss: 4.6124
Epoch 92/200
200/200 [==============================] - 0s 40us/sample - loss: 4.5914
Epoch 93/200
200/200 [==============================] - 0s 40us/sample - loss: 4.5552
Epoch 94/200
200/200 [==============================] - 0s 40us/sample - loss: 4.5350
Epoch 95/200
200/200 [==============================] - 0s 60us/sample - loss: 4.4939
Epoch 96/200
200/200 [==============================] - 0s 40us/sample - loss: 4.4543
Epoch 97/200
200/200 [==============================] - 0s 40us/sample - loss: 4.4177
Epoch 98/200
200/200 [==============================] - 0s 40us/sample - loss: 4.3806
Epoch 99/200
200/200 [==============================] - 0s 40us/sample - loss: 4.3575
Epoch 100/200
200/200 [==============================] - 0s 40us/sample - loss: 4.3133
Epoch 101/200
200/200 [==============================] - 0s 20us/sample - loss: 4.2764
Epoch 102/200
200/200 [==============================] - 0s 20us/sample - loss: 4.2563
Epoch 103/200
200/200 [==============================] - 0s 34us/sample - loss: 4.2289
Epoch 104/200
200/200 [==============================] - 0s 33us/sample - loss: 4.1848
Epoch 105/200
200/200 [==============================] - 0s 40us/sample - loss: 4.1530
Epoch 106/200
200/200 [==============================] - 0s 40us/sample - loss: 4.1117
Epoch 107/200
200/200 [==============================] - 0s 40us/sample - loss: 4.0816
Epoch 108/200
200/200 [==============================] - 0s 20us/sample - loss: 4.0604
Epoch 109/200
200/200 [==============================] - 0s 40us/sample - loss: 4.0225
Epoch 110/200
200/200 [==============================] - 0s 40us/sample - loss: 3.9971
Epoch 111/200
200/200 [==============================] - 0s 40us/sample - loss: 3.9679
Epoch 112/200
200/200 [==============================] - 0s 40us/sample - loss: 3.9324
Epoch 113/200
200/200 [==============================] - 0s 20us/sample - loss: 3.9040
Epoch 114/200
200/200 [==============================] - 0s 40us/sample - loss: 3.9016
Epoch 115/200
200/200 [==============================] - 0s 40us/sample - loss: 3.8728
Epoch 116/200
200/200 [==============================] - 0s 40us/sample - loss: 3.8315
Epoch 117/200
200/200 [==============================] - 0s 40us/sample - loss: 3.8463
Epoch 118/200
200/200 [==============================] - 0s 20us/sample - loss: 3.7967
Epoch 119/200
200/200 [==============================] - 0s 40us/sample - loss: 3.7828
Epoch 120/200
200/200 [==============================] - 0s 40us/sample - loss: 3.7274
Epoch 121/200
200/200 [==============================] - 0s 40us/sample - loss: 3.7071
Epoch 122/200
200/200 [==============================] - 0s 40us/sample - loss: 3.6692
Epoch 123/200
200/200 [==============================] - 0s 20us/sample - loss: 3.6441
Epoch 124/200
200/200 [==============================] - 0s 40us/sample - loss: 3.6144
Epoch 125/200
200/200 [==============================] - 0s 60us/sample - loss: 3.6078
Epoch 126/200
200/200 [==============================] - 0s 40us/sample - loss: 3.5719
Epoch 127/200
200/200 [==============================] - 0s 60us/sample - loss: 3.5604
Epoch 128/200
200/200 [==============================] - 0s 40us/sample - loss: 3.5566
Epoch 129/200
200/200 [==============================] - 0s 60us/sample - loss: 3.5296
Epoch 130/200
200/200 [==============================] - 0s 30us/sample - loss: 3.4946
Epoch 131/200
200/200 [==============================] - 0s 40us/sample - loss: 3.4596
Epoch 132/200
200/200 [==============================] - 0s 40us/sample - loss: 3.4514
Epoch 133/200
200/200 [==============================] - 0s 40us/sample - loss: 3.4280
Epoch 134/200
200/200 [==============================] - 0s 40us/sample - loss: 3.4444
Epoch 135/200
200/200 [==============================] - 0s 60us/sample - loss: 3.3980
Epoch 136/200
200/200 [==============================] - 0s 40us/sample - loss: 3.3698
Epoch 137/200
200/200 [==============================] - 0s 40us/sample - loss: 3.3435
Epoch 138/200
200/200 [==============================] - 0s 40us/sample - loss: 3.3274
Epoch 139/200
200/200 [==============================] - 0s 40us/sample - loss: 3.3135
Epoch 140/200
200/200 [==============================] - 0s 60us/sample - loss: 3.2917
Epoch 141/200
200/200 [==============================] - 0s 40us/sample - loss: 3.2718
Epoch 142/200
200/200 [==============================] - 0s 40us/sample - loss: 3.2680
Epoch 143/200
200/200 [==============================] - 0s 40us/sample - loss: 3.2369
Epoch 144/200
200/200 [==============================] - 0s 60us/sample - loss: 3.2319
Epoch 145/200
200/200 [==============================] - 0s 60us/sample - loss: 3.2209
Epoch 146/200
200/200 [==============================] - 0s 40us/sample - loss: 3.1857
Epoch 147/200
200/200 [==============================] - 0s 40us/sample - loss: 3.1719
Epoch 148/200
200/200 [==============================] - 0s 40us/sample - loss: 3.1502
Epoch 149/200
200/200 [==============================] - 0s 40us/sample - loss: 3.1393
Epoch 150/200
200/200 [==============================] - 0s 40us/sample - loss: 3.1189
Epoch 151/200
200/200 [==============================] - 0s 40us/sample - loss: 3.1065
Epoch 152/200
200/200 [==============================] - 0s 40us/sample - loss: 3.0819
Epoch 153/200
200/200 [==============================] - 0s 40us/sample - loss: 3.1031
Epoch 154/200
200/200 [==============================] - 0s 20us/sample - loss: 3.0498
Epoch 155/200
200/200 [==============================] - 0s 40us/sample - loss: 3.0464
Epoch 156/200
200/200 [==============================] - 0s 40us/sample - loss: 3.0475
Epoch 157/200
200/200 [==============================] - 0s 40us/sample - loss: 3.0367
Epoch 158/200
200/200 [==============================] - 0s 60us/sample - loss: 2.9995
Epoch 159/200
200/200 [==============================] - 0s 60us/sample - loss: 3.0171
Epoch 160/200
200/200 [==============================] - 0s 20us/sample - loss: 2.9641
Epoch 161/200
200/200 [==============================] - 0s 40us/sample - loss: 2.9609
Epoch 162/200
200/200 [==============================] - 0s 40us/sample - loss: 2.9428
Epoch 163/200
200/200 [==============================] - 0s 40us/sample - loss: 2.9411
Epoch 164/200
200/200 [==============================] - 0s 40us/sample - loss: 2.9122
Epoch 165/200
200/200 [==============================] - 0s 40us/sample - loss: 2.8913
Epoch 166/200
200/200 [==============================] - 0s 40us/sample - loss: 2.8840
Epoch 167/200
200/200 [==============================] - 0s 40us/sample - loss: 2.8792
Epoch 168/200
200/200 [==============================] - 0s 40us/sample - loss: 2.8523
Epoch 169/200
200/200 [==============================] - 0s 40us/sample - loss: 2.8524
Epoch 170/200
200/200 [==============================] - 0s 40us/sample - loss: 2.8669
Epoch 171/200
200/200 [==============================] - 0s 20us/sample - loss: 2.8282
Epoch 172/200
200/200 [==============================] - 0s 40us/sample - loss: 2.8027
Epoch 173/200
200/200 [==============================] - 0s 40us/sample - loss: 2.7990
Epoch 174/200
200/200 [==============================] - 0s 40us/sample - loss: 2.7742
Epoch 175/200
200/200 [==============================] - 0s 40us/sample - loss: 2.7783
Epoch 176/200
200/200 [==============================] - 0s 40us/sample - loss: 2.7646
Epoch 177/200
200/200 [==============================] - 0s 40us/sample - loss: 2.7342
Epoch 178/200
200/200 [==============================] - 0s 40us/sample - loss: 2.7215
Epoch 179/200
200/200 [==============================] - 0s 40us/sample - loss: 2.7451
Epoch 180/200
200/200 [==============================] - 0s 40us/sample - loss: 2.7061
Epoch 181/200
200/200 [==============================] - 0s 40us/sample - loss: 2.6843
Epoch 182/200
200/200 [==============================] - 0s 40us/sample - loss: 2.6763
Epoch 183/200
200/200 [==============================] - 0s 40us/sample - loss: 2.6611
Epoch 184/200
200/200 [==============================] - 0s 40us/sample - loss: 2.6457
Epoch 185/200
200/200 [==============================] - 0s 60us/sample - loss: 2.6237
Epoch 186/200
200/200 [==============================] - 0s 40us/sample - loss: 2.6346
Epoch 187/200
200/200 [==============================] - 0s 40us/sample - loss: 2.6131
Epoch 188/200
200/200 [==============================] - 0s 40us/sample - loss: 2.5974
Epoch 189/200
200/200 [==============================] - 0s 20us/sample - loss: 2.5923
Epoch 190/200
200/200 [==============================] - 0s 20us/sample - loss: 2.5751
Epoch 191/200
200/200 [==============================] - 0s 20us/sample - loss: 2.5681
Epoch 192/200
200/200 [==============================] - 0s 40us/sample - loss: 2.5648
Epoch 193/200
200/200 [==============================] - 0s 40us/sample - loss: 2.5290
Epoch 194/200
200/200 [==============================] - 0s 40us/sample - loss: 2.5353
Epoch 195/200
200/200 [==============================] - 0s 40us/sample - loss: 2.5050
Epoch 196/200
200/200 [==============================] - 0s 40us/sample - loss: 2.4963
Epoch 197/200
200/200 [==============================] - 0s 40us/sample - loss: 2.4881
Epoch 198/200
200/200 [==============================] - 0s 40us/sample - loss: 2.4690
Epoch 199/200
200/200 [==============================] - 0s 40us/sample - loss: 2.4662
Epoch 200/200
200/200 [==============================] - 0s 54us/sample - loss: 2.4516

4、用模型进行预测

model.predict(data.iloc[:10,1:-1])

输出:

array([[22.099964], [13.971273], [10.534756], [18.888977], [12.738388], [ 6.276293], [10.054529], [11.692871], [ 1.894486], [10.830784]], dtype=float32)

查看原数据集中对应的销量

data.iloc[:10,-1]

输出:

0 22.1 1 10.4 2 9.3 3 18.5 4 12.9 5 7.2 6 11.8 7 13.2 8 4.8 9 10.6 Name: sales, dtype: float64

对比不难发现,经过200次训练,已经可以得到不错的预测结果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值