gpt4 book ai didi

machine-learning - 如何在weka中使用svm(smo)的字符串数据

转载 作者:行者123 更新时间:2023-11-30 09:20:32 24 4
gpt4 key购买 nike

我有一个 arff 文件,其中包含一些句子(波斯语)以及每个句子前面的一个单词,该单词在 @data 部分中显示其类别。我需要使用 smo 进行分类。问题:

1)是否需要将句子改为向量?

2) 我选择了“字符串到词向量”,但 smo 处于非事件状态并且仍然无法工作。 (当然还有其他算法,例如朴素贝叶斯)。

如何将这些文本数据与 smo 一起使用?

enter image description here

上图是一个非常小的示例文件。

文件样本: https://www.dropbox.com/s/ohpyortve8jbwhe/shoor.arff?dl=0

enter image description here

最佳答案

首先,您需要应用“字符串到词向量”过滤器。之后,在分类选项卡上,您需要将目标类别更改为“(Nom)类别”。这足以启用朴素贝叶斯和 SVM 算法。我下载了数据集,效果很好。

您可以按照本教程进行操作: https://www.youtube.com/watch?v=zlVJ2_N_Olo

希望对您有帮助

from sklearn.feature_extraction.text import TfidfVectorizer
import arff
from sklearn import svm
import numpy as np
from sklearn.model_selection import train_test_split

data=list(arff.load('shoor.arff'))

text=[]
label=[]
for r in data:
if (len(r)>1):
text.append(r[0])
label.append(r[1])
tfidf = TfidfVectorizer().fit_transform(text)
features = (tfidf * tfidf.T).A


X_train, X_test, y_train, y_test = train_test_split(features, label, test_size=0.5, random_state=0)
clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
clf.score(X_test, y_test)

1.0

关于machine-learning - 如何在weka中使用svm(smo)的字符串数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41305529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com