【问题标题】:Multiclass Text Classification in PythonPython中的多类文本分类
【发布时间】:2019-03-09 14:12:15
【问题描述】:

我正在尝试按照here 的说明创建一个多类文本分类器。但是,我的代码正在中断:

NB_pipeline.fit(X_train, train[category])

以下是我得到的错误:

File "pandas\hashtable.pyx", line 683, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12322)

我试图找出 train[category] 返回的内容,但我得到了同样的错误。

1) X_train 是一个 dataframe,只有一列,包含客户反馈。

2) train 是一个有两列的dataframe;第一列包含客户评论(与X_train 相同),第二列包含 5 个类别之一(Systems Error, Proactive Communication, Staff Behaviour, Website Functionalities, Others)。

3) category 是上述类别之一。

下面是样本火车dataframe

Index           Feedback                                    Category
  0           While making payment got system error.         System error
              Staff behaviour was good at hotel

  1           While making payment got system error.         Staff Behaviour
              Staff behaviour was good at hotel

【问题讨论】:

  • 您能否包括更多的堆栈跟踪,并在问题中包括最少的代码。它应该是独立的和可复制的,无需遵循单独的网站。但删除与问题无关的任何内容(但仍然可以重现)。

标签: python text-classification multiclass-classification


【解决方案1】:

这是最容易被忽视的问题之一。

此错误的原因是数据框中不提供正在查找的“列”脚本。您拥有的所有 5 个类别都应该是输入数据框中的列,如果其中一个类别适用于反馈/评论,则行将占 1/0。理想情况下,您的输入数据框应如下所示。

Index           Feedback                                  System error    Staff Behaviour
  0           While making payment got system error.         1                  1
              Staff behaviour was good at hotel

  1           While making payment got system error.         1                  0

  2           Staff behaviour was good at hotel              0                  1

我使用相同的注释来显示输入数据框的外观。

【讨论】:

  • user7467529:感谢您发布答案。对我来说是当之无愧的声誉损失。 :P
猜你喜欢
  • 2016-06-14
  • 2011-03-21
  • 2018-08-03
  • 1970-01-01
  • 2018-05-13
  • 2019-11-05
  • 1970-01-01
  • 2017-10-20
相关资源
最近更新 更多