如何解决数据框列形状在安装到管道后反转,特别是在 kNearestNeighbor() 之后
为什么数据框的列形状在拟合到管道后会反转?原来x_train和y_train的shape分别是[12041,2]和[12041,1]。但是在安装到管道后,它给了我 ValueError: Found input variables with different numbers of samples: [2,12041] 这基本上只是其原始形状的倒置版本。
pipe = Pipeline([('tfidf',TfidfVectorizer()),('classifier',KNeighborsClassifier(n_neighbors=5,weights='distance',algorithm='brute',leaf_size=30,p=2,metric='cosine',metric_params=None,n_jobs=1))])
pipe.fit(x_train,y_train)
我试过在没有管道的情况下做 Tfidfvectorizer,显然它不会导致 x_train 倒置。所以,我怀疑它发生在 kNeighborsClassifier() 之后。这是我没有管道的 Tfidfvectorizer:
def vectorize(train,test):
vectorizer = TfidfVectorizer()
vect_train = list(vectorizer.fit_transform(train).toarray())
vect_test = list(vectorizer.transform(test).toarray())
return vect_train,vect_test
...
x_train['sentVect],x_test[sentVect] = vectorize(x_train['sentence'],x_test['sentence'])
x_train['headVect'],x_test['headVect'] = vectorize(x_train['heading'],x_test['heading'])
出了什么问题,我该如何解决?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。