设置一给影评数据神经网络
时间: 2023-12-29 19:01:53 浏览: 71
以下是使用IMDB影评数据集构建神经网络的示例代码:
```python
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.datasets import imdb
# 加载IMDB数据集
(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000)
# 将整数序列编码为二进制矩阵
def vectorize_sequences(sequences, dimension=10000):
results = tf.zeros((len(sequences), dimension))
for i, sequence in enumerate(sequences):
results[i, sequence] = 1.
return results
x_train = vectorize_sequences(train_data)
x_test = vectorize_sequences(test_data)
y_train = train_labels.astype('float32')
y_test = test_labels.astype('float32')
# 构建神经网络模型
model = keras.Sequential([
keras.layers.Dense(16, activation='relu', input_shape=(10000,)),
keras.layers.Dense(16, activation='relu'),
keras.layers.Dense(1, activation='sigmoid')
])
# 编译模型
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy'])
# 训练模型
history = model.fit(x_train, y_train,
epochs=20,
batch_size=512,
validation_data=(x_test, y_test))
# 在测试集上评估模型
results = model.evaluate(x_test, y_test)
print(results)
```
该模型使用了一个包含两个隐藏层的全连接神经网络,每个隐藏层包含16个神经元。最后一层是一个sigmoid激活函数,用于输出一个0到1之间的概率值。模型使用二元交叉熵作为损失函数,优化器使用RMSprop。在训练过程中,模型将在训练集和验证集上进行20个epoch的训练,并使用512个样本的小批量随机梯度下降进行优化。最后,模型在测试集上进行评估,并输出损失值和准确率。
阅读全文