【发布时间】:2021-11-15 14:48:21
【问题描述】:
我正在尝试使用包含文本和类别的 csv 文件来训练模型。该模型工作正常,但我得到一个关键错误。我怀疑这与读取 csv 的方式有关。
csv 文件如下所示:
| text | category |
|---|---|
| hello | greeting |
| who are you? | question |
我的代码是:
train = pd.read_csv(filepath)
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import make_pipeline
model = make_pipeline(TfidfVectorizer(), MultinomialNB())
model.fit(train.text,train.category)
def predict_category(s, train=train, model=model):
pred = model.predict([s])
return train.category[pred[0]]
在我尝试将字符串输入到 predict_category 函数之前,所有这些都可以正常执行,例如
predict_category('Hi')
导致 KeyError: 'Greeting'
所以看起来模型正在工作,但 KeyError 没有打印结果。
非常感谢您的帮助,谢谢
【问题讨论】:
-
从您显示的内容来看,
model.predict()似乎已经返回greeting,您无需再次查找。
标签: python csv sklearn-pandas naivebayes