如何获取Keras中预测的错误数据的索引? [英] How to get the index of predicted wrong data in Keras?

查看:43
本文介绍了如何获取Keras中预测的错误数据的索引?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在进行情感分析,并使用keras预测电影评论的正面/负面.我想知道的是原始数据,这些数据是我的模型错误预测的.我只能从模型中获得准确性和损失,但我想获得模型预测为错误的文本子集.怎么做?

I am doing sentimental analysis and using keras to predict positive/negative of movie reviews. What I want to know is the raw data, those are wrongly predicted by my model. I only can get the accuracy, loss from my model but I want to get the subset of texts in which my model predicted wrong. How to do it?

import pandas as pd
from keras.preprocessing.text import Tokenizer
from keras.layers import Dense
import keras
import numpy as np
import  gc
from sklearn.model_selection import train_test_split
dataset=pd.read_csv('balanced_dataset.csv')
tk=Tokenizer(num_words=2000)
tk.fit_on_texts(dataset.review)
x=tk.texts_to_matrix(dataset.review)
y=dataset.label

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=40)

model=keras.models.Sequential()
model.add(Dense(8,input_dim=2000))
model.add(Dense(1,activation='sigmoid'))

model.compile(loss='binary_crossentropy',optimizer='rmsprop',metrics=['acc'])

del tk
gc.collect()

result=model.fit(x_train,y_train,batch_size=128,epochs=20,validation_split=0.1)

推荐答案

简单地,使用:模型.预测()

pred = model.predict(x_test)
indices = [i for i,v in enumerate(pred) if pred[i]!=y_test[i]]
subset_of_wrongly_predicted = [x_test[i] for i in indices ]

这篇关于如何获取Keras中预测的错误数据的索引?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆