首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个文本独立字段的分类引擎

具有多个文本独立字段的分类引擎
EN

Data Science用户
提问于 2017-09-26 07:09:57
回答 1查看 904关注 0票数 0

我做了一个分类引擎,只有一个独立的字段(注释),并将它们归类为多个因变量。现在,我希望有多个自变量的培训数据(评论,状态,年龄,性别等)。

目前我正在使用python3.6。

我所做的事情的例子:

代码语言:javascript
复制
Comments                                Classified
(The car wash service is good)          Positive

我想要做的事情的例子:

代码语言:javascript
复制
 Comments                          Gender    City   Age       Classified
 (The car wash service is good)    Male      LA     40        Positive

正如你在第二个例子中所看到的,我们有4个独立变量影响结果(分类情绪)。我想实现一个基于这个用例的分类引擎。请建议我该如何前进.?

编辑:-我使用了来自sklearn.linear_model的sklearn.linear_model。

我首先将注释列表作为向量传递,并使用TfidfVectorizer将其向量化。以下是矢量化代码:-

代码语言:javascript
复制
from sklearn.feature_extraction.text import TfidfVectorizer

vectorizer = TfidfVectorizer(min_df=5,
                                 max_df = 0.8,
                                 sublinear_tf=True,
                                 use_idf=True)

train_vectors = vectorizer.transform(Train_data_Comments_list)

然后,我通过这些向量和分类标签一起进行训练。下面是代码(我使用了partial_fit,因为我想一遍又一遍地训练):-

代码语言:javascript
复制
classifier = SGDClassifier.partial_fit(train_vectors, Train_Labels)

然后使用分类器对其余的向量进行分类。

代码语言:javascript
复制
test_vectors = vectorizer.transform(Test_data_comments_list)
prediction_liblinear = classifier.predict(test_vectors)

如果我将第二个例子中的所有字段值组合在一起,然后形成一个向量,然后通过这些向量进行分类,这会是理想的方法吗?

EN

回答 1

Data Science用户

回答已采纳

发布于 2017-09-29 07:26:37

如果我将第二个例子中的所有字段值组合在一起,然后形成一个向量,然后通过这些向量进行分类,这会是理想的方法吗?

简而言之,是的。您可以将每个输入变量分别转换为向量化的特性,然后将这些向量串联成一个长的特征向量。大多数统计机器学习模型并不关心(或“理解”)特征数据是以不同的方式形成的,它只是被数字处理。

您确实需要注意每种输入数据类型,以便决定如何最好地将其转换为可用的特性。没有单一的“最佳”方法可以做到这一点,这在一定程度上是一门艺术--你可以通过测试你的想法和测量数据科学的准确性来增加数据科学的“科学”部分。

下面是关于如何将数据准备到每一列的特性中的一些快速思考:

  • 备注。您已经转换了这一点,您正在使用“包字”的变体,将文本转换为一个固定长度的数字向量。这是一种常见的方法,很难克服。如果你有大量的数据,你可以研究更复杂的考虑语序的模型,比如递归神经网络,但这是一个全新的课题领域。
  • 性别。您可以使用一次热编码将其转换为一个简单的向量--这将有两个或更多列。
  • 城市。你也可以对它进行一次热编码。它也可能是值得的分组城市和有一个较小的特征向量。例如,在一个热编码之前,按州/国家分组。
  • 年龄。要么分组和一个热点编码,要么通过除以例如50 (这有助于像SGD这样的算法保持不同特征类型之间的距离度量相似),将其缩小到一个较小的数目。我怀疑按典型的人口分裂(如0-11、12-17、18-24、25-34等)分组和一种热编码将很好地用于情感分析,因为这将捕捉到文本表达使用之间的一些一般性差异。
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/23317

复制
相关文章

相似问题

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