2010-11-09 10 views
11

kullanarak sınıflandırın. Basit bir sınıflandırma problemi çözmeye çalışıyorum.Verileri, Apache Mahout

Sorun:
Bir metin setim var ve bunları içeriğe göre kategorilere ayırmam gerekiyor.

Mahout kullanarak çözüm:
Modeli oluşturmak için girişi bir sıra dosyasına dönüştürmem gerektiğini anladım. Evet, bunu yapabildim. Şimdi, test verilerimi nasıl sınıflandırabilirim? 20News örneği sadece doğruluk için test eder. Ama gerçek sınıflandırmayı yapmak istiyorum.
Kod yazmam veya test kümesini sınıflandırmak için var olan bazı sınıfları kullanmam gerektiğinden emin değilim.

cevap

3

adresinde istediklerimi gerçekleştirecek gibi görünen bir örneğe sahiptir. Kendi çalışmamı yapmaktan nefret ediyorum. Ancak, bölümlemeyle ilgili olarak Mahout'a bir bölüm ekledik. Teori, kod örnekleri, örnek olay incelemesi, hatta tüm sunucu çiftliği uygulamaları.

Sen IMO http://www.manning.com/owen/

+14

de yayın öncesi sürümünü alabilirsiniz kitapta sınıflandırmasına ilişkin bölümler geliştirilebilir. Sınıflandırmadaki bölümler, çok belirsiz, belirsiz ve çoğu kez sekestir değildir. Daha fazla java kodlama örneği ve daha az bash kabuğu örneği olabilir. Sınıflandırma bölümü giriş bölümleri gibi daha fazla yazılırsa daha iyi olabilir: Sınıflandırma dosyaları için formatı, bunları nasıl okuyacağınızı, bunları sınıflandırıcınıza nasıl yükleyeceğinizi gösterin. Bir kez eğitilen, yeni bir örnek sınıflandırmak için sınıflandırıcıyı nasıl kullanılır. –

+8

Keşke Mahout'ın daha fazla ve daha iyi dokümantasyonu var. Makine öğreniminde uzman olan insanlar, işlem boru hattının yapısını ve kod mimarisini anlamakta zorlanıyorlar. Javadoklar bile uygun olmayan terminolojiyi kullanırlar (setGramSize setNGramSize olmalıdır) küçük semantik kavramları ve kodları anlamada BÜYÜK bir fark yaratır. –

3

Benzer bir sorun yaşıyorum.

bin/mahout org.apache.mahout.classifier.Classify --path <PATH TO MODEL> --classify <PATH TO TEXT FILE TO BE CLASSIFIED> --encoding UTF-8 --analyzer org.apache.mahout.vectorizer.DefaultAnalyzer --defaultCat unknown --gramSize 1 --classifierType bayes --dataSource hdfs 

Running

modeline dayalı bir metin dosyası sınıflandıracaktır.

Bu size biraz daha ileri gidebilir, ama sanırım, benim gibi, tüm bir belge yükünü sınıflandırmak ve çıktıyı yararlı bir biçimde istiyorsanız.

Bunu yapmak için bir miktar java programlamanız gerekebilir. Birisi, https://bitbucket.org/jaganadhg/blog/src/tip/bck9/java/src/org/bc/kl/ClassifierDemo.java