【发布时间】:2020-02-26 10:13:13
【问题描述】:
我正在使用 Keras 预测情绪。我不明白这段代码是什么意思。
sentiment = model.predict(twt,batch_size=1,verbose = 2)[0]
print (sentiment)
print (np.argmax(sentiment))
我得到的结果是,
[0.18970804 0.81029195]
1
我正在预测一条推文。这是一条积极情绪的推文。 twt 是推文。对于情绪,我得到两个值,在两个值中,我得到的情绪为 1。这是积极的。它是如何得到的? 谁能解释一下。 提前谢谢你
【问题讨论】:
-
您的问题到底是什么?输出的意思还是代码的意思?
-
在没有上下文的情况下说起来有点复杂。我想说的是,您正在对(推文?)中的情绪是否属于一类或另一类进行分类。在这种情况下,您的网络预测您的
twt属于第二类。 -
是的,你基本上在做的是为神经网络提供 twt 中的输入。之后,代码打印每个类的概率。在您的示例中,输入属于情绪 0 的概率为 0.18,属于 1 的概率为 0.81。通常你只对概率最高的类感兴趣。这就是上次打印中出现 argmax 的原因。它在那里打印神经网络“预测”的类(如果你查看所有类,这是最大的概率)
-
训练模型时,您定义了两个输出。输出 0 是带有负面情绪的输出,输出 1 是带有正面情绪的输出(我猜从您的描述中可以看出。也可能反过来)。如果你现在向神经网络展示一条应该被预测的推文,它会在每个输出处向你展示这条推文属于类别 x 的概率。这意味着在这个特定示例中,负面情绪的概率为 0.18(如果负面对应于输出 0),而正面情绪的概率为 0.81。
-
这是一个基本的语法问题,对任何人都没有价值
标签: python tensorflow machine-learning keras lstm