我做了一个分类引擎,只有一个独立的字段(注释),并将它们归类为多个因变量。现在,我希望有多个自变量的培训数据(评论,状态,年龄,性别等)。
目前我正在使用python3.6。
我所做的事情的例子:
Comments Classified
(The car wash service is good) Positive我想要做的事情的例子:
Comments Gender City Age Classified
(The car wash service is good) Male LA 40 Positive正如你在第二个例子中所看到的,我们有4个独立变量影响结果(分类情绪)。我想实现一个基于这个用例的分类引擎。请建议我该如何前进.?
编辑:-我使用了来自sklearn.linear_model的sklearn.linear_model。
我首先将注释列表作为向量传递,并使用TfidfVectorizer将其向量化。以下是矢量化代码:-
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,因为我想一遍又一遍地训练):-
classifier = SGDClassifier.partial_fit(train_vectors, Train_Labels)然后使用分类器对其余的向量进行分类。
test_vectors = vectorizer.transform(Test_data_comments_list)
prediction_liblinear = classifier.predict(test_vectors)如果我将第二个例子中的所有字段值组合在一起,然后形成一个向量,然后通过这些向量进行分类,这会是理想的方法吗?
发布于 2017-09-29 07:26:37
如果我将第二个例子中的所有字段值组合在一起,然后形成一个向量,然后通过这些向量进行分类,这会是理想的方法吗?
简而言之,是的。您可以将每个输入变量分别转换为向量化的特性,然后将这些向量串联成一个长的特征向量。大多数统计机器学习模型并不关心(或“理解”)特征数据是以不同的方式形成的,它只是被数字处理。
您确实需要注意每种输入数据类型,以便决定如何最好地将其转换为可用的特性。没有单一的“最佳”方法可以做到这一点,这在一定程度上是一门艺术--你可以通过测试你的想法和测量数据科学的准确性来增加数据科学的“科学”部分。
下面是关于如何将数据准备到每一列的特性中的一些快速思考:
https://datascience.stackexchange.com/questions/23317
复制相似问题