change the dataset's name when randomized (like the filters do)

This commit is contained in:
Ben Mabey 2011-12-13 20:08:54 -07:00
parent 8a01361512
commit fa2d39ffe5
2 changed files with 18 additions and 2 deletions

View file

@ -229,6 +229,11 @@
[^Instances dataset ^String new-name]
(doto dataset (.setRelationName new-name)))
(defn dataset-append-name
"Sets the dataset's name"
[^Instances dataset ^String name-addition]
(doto dataset (.setRelationName ^String (str (.relationName dataset) name-addition))))
(defn attribute-labels-indexes
"Returns map of the labels (possible values) for the given nominal attribute as the keys
with the values being the attributes index. "
@ -446,7 +451,9 @@ The intention is for this to be used on data-formats and not on datasets with da
(randomize-dataset! ds (java.util.Random.)))
([^Instances ds seed]
(let [seed (if (number? seed) (java.util.Random. seed) seed)]
(doto ds (.randomize seed)))))
(doto ds (.randomize seed) (dataset-append-name (str "-Randomized("
(.hashCode ^Object seed)
")"))))))
(defn randomize-dataset
"Copies the given dataset and returns randomized version."

View file

@ -68,6 +68,16 @@
(dataset-set-class dataset :favorite-color)
(is (= ["red" "blue" "green"] (dataset-class-values dataset))))))
(deftest dataset-name-utils
(let [dataset (make-dataset :test
[:age :iq {:favorite-color [:red :blue :green]}]
[[12 100 :red]
[14 110 :blue]
[ 25 120 :green]])]
(is (= "test" (dataset-name dataset)))
(is (= "new-name" (dataset-name (dataset-set-name dataset "new-name"))))
(is (= "new-name-extra" (dataset-name (dataset-append-name dataset "-extra"))))))
(deftest dataset-count-1
(let [dataset (make-dataset :test
[:a :b]
@ -174,7 +184,6 @@
(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)))