adds dataset-class-name

This commit is contained in:
Ben Mabey 2010-12-30 10:14:57 -07:00
parent 7cd8e08446
commit 8cb6620b6f
2 changed files with 17 additions and 4 deletions

View file

@ -234,11 +234,17 @@
[^Instances ds]
(Instances. ds 0))
(defn dataset-get-class
(defn dataset-class-index
"Returns the index of the class attribute for this dataset"
[^Instances dataset]
(.classIndex dataset))
(defn dataset-class-name
"Returns the name of the class attribute in keyword form. Returns nil if not set."
[^Instances dataset]
(when (> (dataset-class-index dataset) -1)
(keyword-name (.classAttribute dataset))))
(defn dataset-nominal?
"Returns boolean indicating if the class attribute is nominal"
[^Instances dataset]

View file

@ -28,9 +28,9 @@
(deftest dataset-make-dataset-with-default-class
(let [ds (clj-ml.data/make-dataset :test [:a :b {:c [:d :e]}] [] {:class :c})
ds2 (clj-ml.data/make-dataset :test [:a :b {:c [:d :e]}] [] {:class 2})]
(is (= (clj-ml.data/dataset-get-class ds)
2))
(is (= (clj-ml.data/dataset-get-class ds2)
(is (= (clj-ml.data/dataset-class-name ds)
:c))
(is (= (clj-ml.data/dataset-class-index ds2)
2))))
@ -162,3 +162,10 @@
(is (= 0 (dataset-count headers)))
(is (= "test" (dataset-name headers)))
(is (= [:a {:b [:foo :bar]}] (dataset-format headers))))))
(deftest dataset-class-helpers
(let [ds (make-dataset "test" [:a {:b [:foo :bar]}] [[1 :foo] [2 :bar]])]
(is (= nil (dataset-class-name ds)))
(dataset-set-class ds :b)
(is (= :b (dataset-class-name ds)))))