J'ai une liste de mots dans la variable de texte avec leurs étiquettes. J'aime faire un classificateur qui peut prédire l'étiquette du nouveau texte d'entrée.Classification de texte en utilisant Python
Je pense utiliser le paquetage scikit-learn en Python pour utiliser le modèle SVM.
Je me rends compte que le texte doit être converti en forme vectorielle, donc j'essaye TfidfVectorizer et CountVectorizer.
Ceci est mon code jusqu'à présent en utilisant 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)
J'essaie aussi CountVectorizer avec la même code ci-dessus. deux montrant le même résultat d'erreur:
ValueError: setting an array element with a sequence.
Comment résoudre ce problème? Merci
vous demandez comment résoudre un problème, mais je ne trouve nulle part dans un problème de question mentionnée - si quel est le problème? – Drako
Avez-vous essayé 'TfidfTransformer (smooth_idf = True)' à la place? –
@Coldspeed son montrant une erreur: 'TypeError: aucune conversion prise en charge pour les types: (dtype ('
ytomo