怎样做网站卖东西 自己有货,做网站要看什么书,专门做黄漫的网站,丹灶网站建设根据电影评论的 文字内容将其划分为正面或负面。
使用IMDB 数据集#xff0c;它包含来自互联网电影数据库#xff08;IMDB#xff09;的50 000 条严重两极分 化的评论。数据集被分为用于训练的25 000 条评论与用于测试的25 000 条评论#xff0c;训练集和测试 集都包含50%…根据电影评论的 文字内容将其划分为正面或负面。
使用IMDB 数据集它包含来自互联网电影数据库IMDB的50 000 条严重两极分 化的评论。数据集被分为用于训练的25 000 条评论与用于测试的25 000 条评论训练集和测试 集都包含50% 的正面评论和50% 的负面评论。(only use 10000 recotds because of memory error )
1 加载IMDB 数据集 from keras.datasets import imdb (train_data, train_labels), (test_data, test_labels) imdb.load_data(num_words10000)
2 将整数序列编码为二进制矩阵 import numpy as np def vectorize_sequences(sequences, dimension10000): results np.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)
模型定义 from keras import models from keras import layers model models.Sequential() model.add(layers.Dense(16, activationrelu, input_shape(10000,))) model.add(layers.Dense(16, activationrelu)) model.add(layers.Dense(1, activationsigmoid))
4 编译模型 model.compile(optimizerrmsprop, lossbinary_crossentropy, metrics[accuracy])
5 配置优化器 from keras import optimizers model.compile(optimizeroptimizers.RMSprop(lr0.001), lossbinary_crossentropy, metrics[accuracy])
6使用自定义的损失和指标 from keras import losses from keras import metrics model.compile(optimizeroptimizers.RMSprop(lr0.001), losslosses.binary_crossentropy, metrics[metrics.binary_accuracy])
7 留出验证集 x_val x_train[:10000] partial_x_train x_train[10000:] y_val y_train[:10000] partial_y_train y_train[10000:]
8 训练模型 model.compile(optimizerrmsprop, lossbinary_crossentropy, metrics[acc]) history model.fit(partial_x_train, partial_y_train, epochs20, batch_size512, validation_data(x_val, y_val))
9 绘制训练损失和验证损失 import matplotlib.pyplot as plt history_dict history.history loss_values history_dict[loss] val_loss_values history_dict[val_loss] epochs range(1, len(loss_values) 1) plt.plot(epochs, loss_values, bo, labelTraining loss) plt.plot(epochs, val_loss_values, b, labelValidation loss) plt.title(Training and validation loss) plt.xlabel(Epochs) plt.ylabel(Loss) plt.legend() plt.show() 10 绘制训练精度和验证精度 plt.clf() acc history_dict[acc] val_acc history_dict[val_acc] plt.plot(epochs, acc, bo, labelTraining acc) plt.plot(epochs, val_acc, b, labelValidation acc) plt.title(Training and validation accuracy) plt.xlabel(Epochs) plt.ylabel(Accuracy) plt.legend() plt.show() 11 从头开始重新训练一个模型 model models.Sequential() model.add(layers.Dense(16, activationrelu, input_shape(10000,))) model.add(layers.Dense(16, activationrelu)) model.add(layers.Dense(1, activationsigmoid)) model.compile(optimizerrmsprop, lossbinary_crossentropy, metrics[accuracy]) model.fit(x_train, y_train, epochs4, batch_size512) results model.evaluate(x_test, y_test)
12使用训练好的网络在新数据上生成预测结果 训练好网络之后你希望将其用于实践。你可以用predict 方法来得到评论为正面的可能 性大小。 model.predict(x_test) array([[ 0.98006207] [ 0.99758697] [ 0.99975556] ..., [ 0.82167041] [ 0.02885115] [ 0.65371346]], dtypefloat32)