多层感知器(神经网络)与**函数
程序员文章站
2024-03-14 11:41:58
...
这次学习就是有隐藏层的神经网络
用到的函数
pandas.iloc
这次用到了pandas中的iloc函数,他是用来取数据的,具体的就是从samples中取出features
如果数据如上图所示
x = data.iloc[:, :] #获得所有数据
x = data.iloc[:, 0:-1] # 获得第一列到倒数第二列数据,因为末尾值是取不到的
x = data.iloc[[0,1],[0,1]] #提取第0、1行,第0、1列中的数据
x = data.iloc[:, [0,2]] #获得第一列和第三列的数据
x = data.iloc[[2], :] #获得第二行的数据
可以看到**逗号,**以前的代表的是行,逗号以后的代表的是列
import tensorflow as tf
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('TV_sale.csv')
# print(data.head()) # 显示前五个数据
x = data.iloc[:, 0:-1] # 获得第一列到倒数第二列数据,因为末尾值是取不到的
# print(x)
y = data.iloc[:, [-1]]
# print(y)
model = tf.keras.Sequential([tf.keras.layers.Dense(10, input_shape=(3,), activation='relu'),
tf.keras.layers.Dense(1)]
)
model.summary()
tf.keras.Sequential()
model = tf.keras.Sequential([tf.keras.layers.Dense(加入的层的神经元数量, input_shape=(输入feature的数量,), activation=选择你的**函数,上面选的是relu),
tf.keras.layers.Dense(1)]
)
这是这个神经网络的结果,因为有10个神经元,每个神经元有3个feature加上一个bias所以总共的parameter有40个那一层
对于第二层,上一层的10个神经元加上一个bias所以是11个parameter
model.summary()
这个函数是用来看神经网络是什么样子的
各种**函数
完整代码
import tensorflow as tf
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('TV_sale.csv')
# print(data.head()) # 显示前五个数据
x = data.iloc[:, 0:-1] # 获得第一列到倒数第二列数据,因为末尾值是取不到的
# print(x)
y = data.iloc[:, [-1]]
# print(y)
model = tf.keras.Sequential([tf.keras.layers.Dense(10, input_shape=(3,), activation='relu'),
tf.keras.layers.Dense(1)]
)
# model.summary()
model.compile(optimizer='adam',
loss='mse'
)
model.fit(x, y, epochs=1000)
test = data.iloc[:4, 0:-1]
print(model.predict(test))
print(data.iloc[:4, [-1]])
哈哈哈结果很不好,因为我只写了8个数据
上一篇: 神经网络python实现
推荐阅读
-
多层感知器(神经网络)与**函数
-
php简略对象与数组的转换函数代码(php多层数组和对象的转换)
-
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
-
php简略对象与数组的转换函数代码(php多层数组和对象的转换)
-
火炬之光有多少层 php简单对象与数组的转换函数代码php多层数组和对象的转换
-
php简单对象与数组的转换函数代码(php多层数组和对象的转换)_php技巧
-
php简单对象与数组的转换函数代码(php多层数组和对象的转换)_php技巧
-
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
-
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
-
php简单对象与数组的转换函数代码(php多层数组和对象的转换)_PHP教程