我有文本变量中的单词列表及其标签。我喜欢制作能够预测新输入文本标签的分类器。使用Python的文本分类
我想在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.
如何解决这个问题呢?感谢
你问如何解决一个问题,但我不能提到一个问题,问题发现任何地方 - 如此问题是什么? – Drako
您是否尝试过'TfidfTransformer(smooth_idf = True)'而不是? –
@Coldspeed它显示一个错误:'TypeError:没有支持的类型转换:(dtype('
ytomo