Python Keras深度学习准确率100%问题

Python Keras深度学习准确率100%问题,python,keras,sentiment-analysis,Python,Keras,Sentiment Analysis,我正在和凯拉斯一起进行电影分级 文件被标记为[电影评论,情绪(情感)] 输出=始终精度100% 作为一种基本的深度学习模式, 如果启用imdb注释,它将正常输出 我不认为文本预处理过程是错误的 我直接下载了imdb.csv文件,对它进行了处理,打印了它,它显示了相同的图形 ,(非常奇怪的MYData图形…) 作为参考 我把恐怖片分为恐怖片和野蛮片 [残忍,惊讶]我已经把它分类成标签了 我们能坦率地解决它吗?我一直在怀疑 我不知道是数据本身错了还是代码错了 你知道怎么了吗 为什么总是显示100%

我正在和凯拉斯一起进行电影分级

文件被标记为[电影评论,情绪(情感)]

输出=始终精度100%

作为一种基本的深度学习模式, 如果启用imdb注释,它将正常输出

我不认为文本预处理过程是错误的

我直接下载了imdb.csv文件,对它进行了处理,打印了它,它显示了相同的图形

,(非常奇怪的MYData图形…)

作为参考

我把恐怖片分为恐怖片和野蛮片

[残忍,惊讶]我已经把它分类成标签了

我们能坦率地解决它吗?我一直在怀疑

我不知道是数据本身错了还是代码错了


你知道怎么了吗


为什么总是显示100%的准确度?

当我运行代码时(imdb.load\U data未注释),我得到了大约86%的测试准确度。因此,错误可能在于数据加载。也许您的测试集包含垃圾?@Dion首先,感谢您的回答,垃圾数据是什么意思,我的Csv文件只包含恐怖电影和残忍电影的评论使用此标记,您是否确保
X_test
y_test
包含您认为应该包含的内容?请添加加载数据的方式,以及如何将其拆分为训练和测试数据集。@Dion谢谢!我很愚蠢,因为它保留了我在预处理期间为IMDB.csv文件添加的标记,因为有奇怪的值​​在你的测试中,你训练!非常感谢你!当我运行您的代码时(未注释
imdb.load_data
行),我得到了大约86%的测试准确率。因此,错误可能在于数据加载。也许您的测试集包含垃圾?@Dion首先,感谢您的回答,垃圾数据是什么意思,我的Csv文件只包含恐怖电影和残忍电影的评论使用此标记,您是否确保
X_test
y_test
包含您认为应该包含的内容?请添加加载数据的方式,以及如何将其拆分为训练和测试数据集。@Dion谢谢!我很愚蠢,因为它保留了我在预处理期间为IMDB.csv文件添加的标记,因为有奇怪的值​​在你的测试中,你训练!非常感谢你!
 # MLP for the IMDB problem
import numpy
from keras.datasets import imdb
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Flatten
from keras.layers.embeddings import Embedding
from keras.preprocessing import sequence
# load the dataset but only keep the top n words, zero the rest
top_words = 5000
# (X_train, y_train), (X_test, y_test) = imdb.load_data(num_words=top_words)
X_train = train_result
y_train = train_label
X_test = test_result
y_test = test_label

max_words = 500
X_train = sequence.pad_sequences(X_train, maxlen=max_words)
X_test = sequence.pad_sequences(X_test, maxlen=max_words)
# create the model
model = Sequential()
model.add(Embedding(top_words, 32, input_length=max_words))
model.add(Flatten())
model.add(Dense(250, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.summary()
# Fit the model
hist = model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=10, batch_size=128, verbose=1)
# Final evaluation of the model
scores = model.evaluate(X_test, y_test, verbose=1)
print("Accuracy: %.2f%%" % (scores[1]*100))


%matplotlib inline
import matplotlib.pyplot as plt

fig, loss_ax = plt.subplots()

acc_ax = loss_ax.twinx()

loss_ax.plot(hist.history['loss'], 'y', label='train loss')
loss_ax.plot(hist.history['val_loss'], 'r', label='val loss')

acc_ax.plot(hist.history['acc'], 'b', label='train acc')
acc_ax.plot(hist.history['val_acc'], 'g', label='val acc')

loss_ax.set_xlabel('epoch')
loss_ax.set_ylabel('loss')
acc_ax.set_ylabel('accuray')

loss_ax.legend(loc='upper left')
acc_ax.legend(loc='lower left')

plt.show()