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

2024-09-27 23:18:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个文本分类器,根据我拥有的标记数据集,查看研究摘要并确定它们是否专注于获得护理。数据源是一个Excel电子表格,有三个字段(项目编号、摘要和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) 

Tags: 数据fromtestimportdftrainsklearnpd
1条回答
网友
1楼 · 发布于 2024-09-27 23:18:27

您正在使用整个数据帧对预测器进行编码。记住在转换中只使用摘要(您也可以在转换之前匹配语料库单词词典,然后再进行转换)

这里有一个解决方案:

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

其余的看起来还可以

相关问题 更多 >

    热门问题