我正在尝试创建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
答案 0 :(得分:2)
这是最容易被忽视的问题之一。
此错误的原因是,正在查找的“列”脚本在数据框中不可用。您拥有的所有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
我使用相同的注释来显示输入数据框的外观。