首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >科学会:如何在执行TFIDFVectorizer的fit和转换之后包含其他特性?

科学会:如何在执行TFIDFVectorizer的fit和转换之后包含其他特性?
EN

Stack Overflow用户
提问于 2016-11-18 14:46:42
回答 2查看 955关注 0票数 0

简单介绍一下我的情况:我有4列输入:idtext分类label

我在文本上使用了,它给出了一个实例列表,其中包含TFIDF的word标记。

现在,我想将类别(不需要传递)作为向量器输出的数据中的另一个特性。

还请注意,在矢量化之前,数据已经通过了train_test_split.。

我怎样才能做到这一点?

初始代码:

代码语言:javascript
代码运行次数:0
运行
复制
#initialization
import pandas as pd
path = 'data\data.csv'
rappler= pd.read_csv(path)
X = rappler.text
y = rappler.label
#rappler.category - contains category for each instance

#split train test data
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)

#feature extraction
from sklearn.feature_extraction.text import CountVectorizer
vect = CountVectorizer()
X_train_dtm = vect.fit_transform(X_train)
#after or even prior to perform fit_transform, how can I properly add category as a feature?
X_test_dtm = vect.transform(X_test)

#actual classfication
from sklearn.naive_bayes import MultinomialNB
nb = MultinomialNB()
nb.fit(X_train_dtm, y_train)
y_pred_class = nb.predict(X_test_dtm)

#display result
from sklearn import metrics
print(metrics.accuracy_score(y_test,y_pred_class))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-18 19:49:01

我建议在特征提取后做你的火车测试。

一旦您有了TF-国防军功能列表,只需为每个示例添加其他特性即可。

您必须对类别特性进行编码,最好的选择是滑雪板LabelEncoder。然后,您应该有两组可以连接的numpy数组。

下面是一个玩具示例:

代码语言:javascript
代码运行次数:0
运行
复制
X_tfidf = np.array([[0.1, 0.4, 0.2], [0.5, 0.4, 0.6]])
X_category = np.array([[1], [2]])
X = np.concatenate((X_tfidf, X_category), axis=1)

在这一点上,你将继续你的过去,从火车测试分裂开始。

票数 0
EN

Stack Overflow用户

发布于 2016-11-21 07:13:27

你应该使用FeatureUnions -正如文档中所解释的那样 FeatureUnions将几个转换器对象组合成一个新的转换器,该转换器将它们的输出组合在一起。FeatureUnion接收转换器对象的列表。在拟合过程中,每一个都独立地与数据相匹配。对于数据转换,变压器被并行应用,它们输出的样本向量被连接到端到端的更大的向量。

关于如何使用FeatureUnions的另一个很好的例子可以在这里找到:union.html

仅仅连接@AlexG这样的不同矩阵可能是一个更容易的选择,但FeatureUnions是做这些事情的科学学习方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40679883

复制
相关文章

相似问题

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