Weka java API kullanarak bir belge sınıflandırması yapmaya çalışıyorum.StringToWordVector() - Weka çıkışının yorumlanması
Veri dosyalarının dizin yapılışı.
+- text_example
|
+- class1
| |
| 3 html files
|
+- class2
| |
| 1 html file
|
+- class3
|
3 html files
Ben 'TextDirectoryLoader' ile oluşturulan 'Arff' dosyası var. Sonra filter.setOutputWordCounts(true)
ile oluşturulan arff dosyasındaki StringToWordVector
filtresini kullanıyorum.
Aşağıda, filtre uygulandıktan sonra çıktı örneği verilmiştir. Açıklığa kavuşturulmuş birkaç şey almam lazım.
@attribute </form> numeric
@attribute </h1> numeric
.
.
@attribute earth numeric
@attribute easy numeric
Bu büyük liste, ilk html dosyalarının içeriğinin belirteci olmalıdır. sağ?
Sonra var
, ilk 3 öğeler için hiçbir sınıf özelliği yoksa neden@data
{1 2,3 2,4 1,11 1,12 7,..............}
{10 4,34 1,37 5,.......}
{2 1,5 6,6 16,...}
{0 class2,34 11,40 15,.....,4900 3,...
{0 class3,1 2,37 3,40 5....
{0 class3,1 2,31 20,32 17......
{0 class3,32 5,42 1,43 10.........
? (sınıf1 olmalı). , baştaki 0, {0 class2, ..}, {0 class3 ..} 'de olduğu anlamına gelir. Örneğin, class3 klasöründeki 3. html dosyasında, 32 tamsayı ile tanımlanan sözcüğün 5 kez göründüğünü belirtir. Sadece 32 tarafından atıfta bulunulan kelimeyi nasıl bulabilirim?
Özellik vektörünün boyutsallığını nasıl azaltabilirim? Tüm özellik vektörlerini aynı boyuta getirmemize gerek yok mu? (Eğitim setinden sadece 100 kez en sık kullanılan terimleri ve daha sonra test etmeye gelince, test belgelerinde sadece 100 terimin varlığını göz önünde bulundurun. Çünkü, bu şekilde tamamen yeni bir kelime bulursak ne olur? test aşamasında, sınıflandırıcı bunu görmezden gelebilecek mi?).
Burada bir şey mi özlüyorum? Weka'ya yeniyim.
Ayrıca, birisi bana, sınıflandırıcının StringToWordVector
filtresiyle oluşturulan bu vektörü nasıl kullandığını açıklayabilirse, bu yardımı gerçekten takdir ediyorum. (Eğitim verileri, boyut indirgeme ile kelime oluşturmak gibi, Weka kodu içinde oluyor olanlardır?)
Evet ve cevapları kendim öğrendiğimde ans geç oldu. Ama cevabın için teşekkürler ve kabul ediyorum. Hey weka'da libsvm (wrapper) ile bir sınıf sınıflandırma deneyimi var mı? Ben bir çeşit sıkışmış değilim – KillBill
@ user601 Hayır, özür dilerim. Weka'da hiç libsvm kullanmadım. Sadece meraktan dolayı: bazı makine öğrenimi/veri madenciliği konusuna bir tez yazdı mı? – Malhelo
evet metin sınıflandırma içeren üst sınıf tezi yapıyorum. Benzer bir şey mi yapıyorsun? – KillBill