首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除了文本分类以外的其他输入

除了文本分类以外的其他输入
EN

Stack Overflow用户
提问于 2015-12-08 17:23:19
回答 1查看 1.1K关注 0票数 4

我试图做一个文本分类器使用"Sci工具包“学习袋的单词。矢量化为分类器。但是,我想知道除了文本本身之外,我将如何在输入中添加另一个变量。假设我想在文本中添加一些单词,除了文本(因为我认为它可能会影响结果)。我应该怎样做呢?

我必须在这个分类器的上面加上另一个分类器吗?或者有什么方法可以将输入添加到矢量化文本中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-09 00:49:28

Scikit学习分类器适用于numpy数组。这意味着,在对文本进行矢量化之后,您可以很容易地将新特性添加到这个数组中(我要把这个句子拿回来,不是很容易,而是可行的)。问题是在文本分类中,您的特性将是稀疏的,因此正常的numpy列添加不起作用。

2013年scikit学习教程中的文本挖掘示例修改的代码。

代码语言:javascript
复制
from sklearn.datasets import load_files
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
import numpy as np
import scipy

# Load the text data

twenty_train_subset = load_files('datasets/20news-bydate-train/',
    categories=categories, encoding='latin-1')

# Turn the text documents into vectors of word frequencies
vectorizer = TfidfVectorizer(min_df=2)
X_train_only_text_features = vectorizer.fit_transform(twenty_train_subset.data)


print type(X_train_only_text_features)
print "X_train_only_text_features",X_train_only_text_features.shape

size = X_train_only_text_features.shape[0]
print "size",size

ones_column = np.ones(size).reshape(size,1)
print "ones_column",ones_column.shape


new_column = scipy.sparse.csr.csr_matrix(ones_column )
print type(new_column)
print "new_column",new_column.shape

X_train= scipy.sparse.hstack([new_column,X_train_only_text_features])

print "X_train",X_train.shape

产出如下:

代码语言:javascript
复制
<class 'scipy.sparse.csr.csr_matrix'>
X_train_only_text_features (2034, 17566)
size 2034
ones_column (2034L, 1L)
<class 'scipy.sparse.csr.csr_matrix'>
new_column (2034, 1)
X_train (2034, 17567)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34162154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档