首页 > 解决方案 > KeyError:尝试运行预测模型时为真/假

问题描述

我试图通过运行以下代码检查模型是否正确预测亚马逊评论是正面还是负面:

def predict_category(s, X_train=X_train, model=model):
    pred = model.predict([s])
    return y_train.loc[y_train[pred[0]]]

predict_category('These deserved a 5 star because of the price and their strength. Will be buying again when we eventually run out.')`

True如果评论是正面的,它必须返回,False如果它是负面的。它确实以下面的 KeyError 的形式返回了正确的答案,但有什么解决方法吗?

KeyError Traceback (most recent call last) <ipython-input-66-5ab570b98937> in <module> pandas\_libs\index_class_helper.pxi in pandas._libs.index.Int64Engine._check_type()
KeyError: True

标签: pythonpandasnaivebayes

解决方案


我不是这方面的专家,但您的问题是一个经典问题:您需要调试。因此,将您的代码更改为更易于管理

def predict_category(s, X_train=X_train, model=model):
    pred = model.predict([s])
    a = pred[0]
    b = y_train[a] 
    c = y_train.loc[b]
    return c

比启动调试器并逐步调试。完成后,您将知道导致异常的行,并且您将能够确定问题。

最后,回到这里,告诉大家问题出在哪里。


推荐阅读