Sklearn(NLP文本分类器新手)-形状和矢量器的问题,X和Y不匹配



我想创建一个文本分类器,根据我拥有的标记数据集,查看研究摘要并确定它们是否专注于获得护理。数据源是一个Excel电子表格,包含三个字段(project_number、abstract和accessclass(和326行摘要。accessclass为1表示与访问相关,为0表示与访问无关(不确定这是否相关(。无论如何,我试着遵循教程,希望通过添加自己的数据使其具有相关性,但我的X和Y数组存在一些问题。感谢您的帮助。

import pandas as pd
import nltk
from nltk.corpus import stopwords
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split
from sklearn import naive_bayes
from sklearn.metrics import roc_auc_score
df = pd.read_excel("accessclasses.xlsx")
df.head()
#TFIDF vectorizer
stopset = set(stopwords.words('english'))
vectorizer = TfidfVectorizer(use_idf=True, lowercase=True, 
strip_accents='ascii', stop_words=stopset)
y = df.accessclass
x = vectorizer.fit_transform(df)
print(x.shape)
print(y.shape)
#above and below seem to be where the issue is.   
x_train, x_test, y_train, y_test = train_test_split(x, y) 

您正在使用整个数据帧对预测器进行编码。记住,在转换中只使用抽象词(你也可以在转换前调整语料库词典,然后再进行转换(。

这里有一个解决方案:

y = df.accessclass
x = vectorizer.fit_transform(df.abstract)

剩下的看起来还好。

最新更新