首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sklearn问题分类

Sklearn问题分类
EN

Data Science用户
提问于 2020-07-11 16:37:24
回答 1查看 132关注 0票数 -1

因此,我发现使用sklearn的SVM算法对单词进行分类有很多种方法。但是,我想按分类法对问题进行分类,如以下数据集所示:

这个任务的目标是预测给定pdf文件/字符串(问题)的分类法。问题如下:

  • 如何修改下面的代码来训练一个基于问题的分类模型?
  • 如何利用支持向量机训练问题分类模型?

对于此任务,我使用了以下Python库

代码语言:javascript
复制
import pandas as pd
import numpy as np
from nltk.tokenize import word_tokenize, sent_tokenize
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.preprocessing import LabelEncoder
from collections import defaultdict
from nltk.corpus import wordnet as wn
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn import model_selection, naive_bayes, svm
from sklearn.metrics import accuracy_score

在这里,我已经将数据集分成了训练集和测试集。

代码语言:javascript
复制
Train_X, Test_X, Train_Y, Test_Y = 
model_selection.train_test_split(Corpus['question'],Corpus['taxonomy'],test_size=0.3)

Encoder = LabelEncoder()
Train_Y = Encoder.fit_transform(Train_Y)
Test_Y = Encoder.fit_transform(Test_Y)

我用过TF型以色列国防军变压器(TfidfTransformer)在这样的滑雪板库

代码语言:javascript
复制
Tfidf_vect = TfidfVectorizer(max_features=5000)
Tfidf_vect.fit(Corpus['question'])
Train_X_Tfidf = Tfidf_vect.transform(Train_X)
Test_X_Tfidf = Tfidf_vect.transform(Test_X)

但这将把问题分解成每一个问题的单词。下面的代码用于制作一个单词分类器,以从单词中预测分类法。

代码语言:javascript
复制
SVM = svm.SVC(C=1.0, kernel='linear', degree=3, gamma='auto')
SVM.fit(Train_X_Tfidf,Train_Y)
# predict the labels on validation dataset
predictions_SVM = SVM.predict(Test_X_Tfidf)

任何帮助都将不胜感激!

EN

回答 1

Data Science用户

发布于 2020-07-12 07:05:37

因此,问题是问如何建模以下问题:预测问题分类,给出问题。

我首先想到的是使用编解码结构。为此,您将使用编码器将问题编码为一系列单词/标记。在这里,我们可以使用顺序模型,如RNN或LSTM。然后,这个编码器将问题编码为“隐藏表示”。

然后对隐藏表示进行解码,使用一个带最后3节点的softmax层的正规前馈神经网络,从而在问题分类上产生概率分布。

对于输入,您将把标记转换为word嵌入,然后为每个问题逐个提供它们。对于输出,您只需获得作为类标签的概率最高的索引。

支持向量机( SVM )是个好主意,但它把问题当作一袋单词(即语序不重要)。因此,任何老的随机问题,比如“什么人学会了这一点”(尽管非常不连贯),仍然可以被分类。

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

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

复制
相关文章

相似问题

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