首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试垃圾邮件分类

如何测试垃圾邮件分类
EN

Stack Overflow用户
提问于 2022-11-07 16:52:33
回答 1查看 31关注 0票数 0
代码语言:javascript
复制
user_input = input().split()
user_data = [[]]
# X_test_encoded = tokenizer.texts_to_sequences(X_test)
# X_test_padded = pad_sequences(X_test_encoded, maxlen = max_len)
if (model.predict(X_test_padded).all() > 0.5):
    print(f"[{user_input}] is spam")
else:
    print(f"[{user_input}] is non-spam")
代码语言:javascript
复制
from tensorflow.keras.layers import SimpleRNN, Embedding, Dense
from tensorflow.keras.models import Sequential

embedding_dim = 32
hidden_units = 32

model = Sequential()
model.add(Embedding(vocab_size, embedding_dim))
model.add(SimpleRNN(hidden_units))
model.add(Dense(1, activation='sigmoid'))

model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['acc'])
history = model.fit(X_train_padded, y_train, epochs=4, batch_size=64, validation_split=0.2)


X_test_encoded = tokenizer.texts_to_sequences(X_test)
X_test_padded = pad_sequences(X_test_encoded, maxlen = max_len)
print("\n 테스트 정확도: %.4f" % (model.evaluate(X_test_padded, y_test)[1]))


epochs = range(1, len(history.history['acc']) + 1)
plt.plot(epochs, history.history['loss'])
plt.plot(epochs, history.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'val'], loc='upper left')
plt.show()

这是确定输入的电子邮件是垃圾邮件还是普通电子邮件的测试代码。但是无论我在这里保留了多少文本,都被认为是垃圾邮件,有什么解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-29 04:15:23

我根据电影评论数据集(正或负)训练了一个类似的模型。

代码语言:javascript
复制
model.predict(X_test_padded).all() > 0.5

上述输出将始终为True,因此if循环将一直执行。

相反,使用

代码语言:javascript
复制
model.predict(X_test_padded) > 0.5

有关更多细节,请参阅此要旨。谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74350119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档