2012-12-18 7 views
11

Topladığım tweetleri sınıflandırmak için Scikit'ten SVM uygulamasına çalışıyorum. Yani, iki kategori olacak, onları A ve B olarak adlandırın. Şimdilik, iki metin dosyasında 'A.txt' ve 'B.txt' olarak kategorize edilen tüm tweet'lere sahibim. Ancak, Scikit Learn SVM'nin ne tür veri girdisi istediğinden emin değilim. Anahtarları ve bir sözlük sözlüğü (unigrams) ve değerleri olarak sıklıklarını içeren bir sözlüğe (A ve B) sahip bir sözlüğe sahibim. Maalesef, öğrenmeyi öğrenmek ve SVM'yi işe almak için ne yapmam gerektiğini bilmiyorum. Ve SVM'nin numpy.ndarray veri girişinin türü olarak kullandığını buldum. Kendi verilerime dayanarak bir tane oluşturmam gerekiyor mu? Böyle bir şey olmalı mı?Scikit Learn SVM kullanarak metin sınıflandırması için veri hazırlayın SVM

Labels features frequency 
    A  'book'  54 
    B  'movies'  32 

Herhangi bir yardım için teşekkür ederiz.

cevap

21

text feature extraction'daki belgelere bakın. Ayrıca, text classification example'a da bakabilirsiniz.

burada bir ders de vardır: a: Özellikle

http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html

SVM modelleri çok fazla odaklanmak yok (çekirdek modelleri dolayısıyla değil metin sınıflandırma için daha ilginç olduğunu sklearn.svm.SVC değil özellikle) Basit Perceptron, LogisticRegression veya Bernoulli saf Bayes modelleri, eğitim için çok daha hızlı olurken iyi çalışabilir.

+1

multinomial naif bayes/SVM her ikisi de sizin için çalışacaktır. –

+0

"text classification example" ifadesinin bağlantısı 404 –

+0

'dir. Rapor için teşekkür ederiz. – ogrisel