我有文本變量中的單詞列表及其標籤。我喜歡製作能夠預測新輸入文本標籤的分類器。使用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