python - 在 -Tweet 情绪分析上运行我的新数据时出现问题
问题描述
所以我制作了一个航空公司推特情绪分析脚本,以此作为参考:https ://github.com/sunilpankaj/Twitter-US-Airline-Sentiment/blob/master/Cleaning%20data%20and%20prediction.ipynb
它已经过训练和优化,我在常用的 CrowdFlower 航空公司 Twitter 数据集上的准确率约为 78.6%。
我现在有一组新的最近推文,这些推文已经过处理以删除停用词、其他符号等,并放入 .csv 文件中。
它看起来像这样:
西南航空公司看操作代理应用旧金山工作检查工作业务咨询销售分析西南航空公司达拉斯 sr citrix 引擎需要达拉应用西南航空公司工作检查工作 euc 系统引擎西南航空公司达拉斯西南航空公司看站管理员丹佛应用工作新工作开放西南航空公司亚特兰大出现技术员西南航空公司租用火车时刻表达拉应用工作 rt riski busi fli faa 低薪 标准 faa deltaairlin jetblu southairlin
每条新行代表一条不同的推文。
我现在想将此数据输入到我已经使用 CrowdFlower 数据集训练的分类器中,让它识别推文的情绪并将情绪写入一个新的 .csv 文件,类似于:
积极的
中性的
中性的
消极的
我该怎么做呢?抱歉格式不好,这是我第一次发帖。如果有帮助,我也可以发布一些代码。
我的整个代码: 代码第 1 部分 代码第 2 部分
解决方案
如果您已经有一个已调用 .fit() 方法的分类器对象(例如 nb = MultinomialNB()),则可以对该对象使用相同的引用并对其调用 predict 方法,如下所示:
predictions = nb.predict(new_features)
一旦你有了预测,你就有几个选项可以将它们放入 .csv 文件中。如果您熟悉 pandas 数据框,您可以执行以下操作:
df = pandas.DataFrame({"predictions": predictions})
df.to_csv("predictions.csv")
或者,如果您更熟悉 numpy:
np.savetxt(predictions, "predictions.csv", delimiter=",")
注意:Pandas 的 I/O 比 numpy 快得多,所以我推荐它用于大型数据集