我有文本变量中的单词列表及其标签。我喜欢制作一个可以预测新输入文本标签的分类器。
我正在考虑在 Python 中使用 scikit-learn 包来使用 SVM 模型。
我意识到需要将文本转换为矢量形式,所以我正在尝试 TfidfVectorizer 和 CountVectorizer。
到目前为止,这是我使用 TfidfVectorizer 的代码:
from sklearn import svm
from sklearn.feature_extraction.text import TfidfVectorizer
label = ['organisasi','organisasi','organisasi','organisasi','organisasi','lokasi','lokasi','lokasi','lokasi','lokasi']
text = ['Partai Anamat Nasional','Persatuan Sepak Bola', 'Himpunan Mahasiswa','Organisasi Sosial','Masyarakat Peduli','Malioboro','Candi Borobudur','Taman Pintar','Museum Sejarah','Monumen Mandala']
vectorizer = TfidfVectorizer(min_df=1)
X = vectorizer.fit_transform(text)
y = label
klasifikasi = svm.SVC()
klasifikasi = klasifikasi.fit(X,y) #training
test_text = ['Partai Perjuangan']
test_vector = vectorizer.fit_transform(test_text)
prediksi = klasifikasi.predict([test_vector]) #test
print(prediksi)
我也尝试使用上面相同的代码来使用 CountVectorizer。两者都显示相同的错误结果:
ValueError: setting an array element with a sequence.
如何解决这个问题呢?谢谢