用tensorflow以一个程序:文本分类
时间: 2023-07-16 15:13:45 浏览: 91
好的,以下是一个使用TensorFlow进行文本分类的示例程序:
```python
import tensorflow as tf
from tensorflow import keras
import numpy as np
加载 IMDB 数据集
imdb = keras.datasets.imdb
(train_data, train_labels), (test, test_labels) = imdb.load_data(num_words=00)
# 将整数序列填充为相同的长度
train_data = keras.preprocessing.sequence.pad_sequences(train_data, value=0, padding='post', maxlen=256)
test_data = keras.preprocessing.sequence.pad_sequences(test_data, value=0, padding='post', maxlen=256)
# 构建模型
model = keras.Sequential()
model.add(keras.layers.Embed(10000, 16))
model.add(keras.layers.GlobalAveragePooling1D())
model.add(keras.layers(16, activation=tf.nn.relu))
model.add(keras.layers.Dense(1, activation=tf.sigmoid))
# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# 训练模型
history = model.fit(train_data, train_labels, epochs=40, batch_size=512, validation_data=(test_data, test_labels), verbose=1)
# 在测试数据上评估模型
results = model.evaluate(test_data, test_labels)
print('Test loss:', results[0])
print('Test accuracy:', results[1])
```
这个程序使用了IMDB数据集进行情感分类。它包含来自互联网电影数据库的50,000条严重分化的评论。训练集和测试集各包含25,000条评论。我们使用`num_words=10000`参数将数据集中出现频率最高的前10,000个单词保留下来。然后我们将整数序列填充为相同的长度,并使用一个简单的神经网络对其进行分类。
这个程序训练了40个周期,并在测试数据上获得了约87%的准确率。
阅读全文