clojure'dan weka kullanmaya çalışırken, clojure'nin java interop özelliklerini kullanarak wike wiki'den clojure'a this howto guide dönüştürmeye çalışıyorum.java ile arabirim oluştururken açık olarak clojure nasıl yayınlanır
(def c-model (doto (NaiveBayes.) (.buildClassifier is-training-set)))
Daha sonra bu tarafından çağrılır: Ben -
Bu Clojure yansıma mekanizması çağırmak için doğru yöntemi bulmak için görünmüyor olabilir bir durumda, dışında, bugüne kadar işe yaradı Evaluation
sınıfı .evaluateModel
yöntemi:
(.evaluateModel e-test c-model is-testing-set)
e-test
tip weka.classifiers.Evaluation
arasında olup, their api documentation uygun yöntem türleriiki parametre alırve Instances
Ne Clojure aldığım olsa IllegalArgumentException No matching method found: evaluateModel for class weka.classifiers.Evaluation clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:53)
- ı c-model
aslında tip NaiveBayes
ait olduğu için aynı zamanda bir Classifier
olmalıdır, ancak bu olduğunu tahmin - bu instance?
göre, hangi.
cast
ile döküm yapmayı denemedim ve anladığım kadarıyla bu bir tür iddianın (ve tabii ki sorunsuz bir şekilde) clojure'daki gerçek bir dökümden daha fazlasıdır. Java interop yöntem çağrılarında hangi türlerin yayınlanacağını açıkça belirtmenin başka bir yolu var mı? /http://paste.lisp.org/display/129250
Bir saniye için varargs ile ne yapacağını merak ediyordum, ama bu cevaba rastlamadım - teşekkür ederim! –