data-creation script

This commit is contained in:
Ryan Boldi 2022-06-03 11:16:32 -04:00
parent fa681bef44
commit 42def900d6
2 changed files with 30 additions and 1 deletions

View File

@ -6,7 +6,8 @@
:dependencies [[org.clojure/clojure "1.10.0"] :dependencies [[org.clojure/clojure "1.10.0"]
[org.clojure/clojurescript "1.9.946"] [org.clojure/clojurescript "1.9.946"]
[org.clojure/test.check "1.1.0"] [org.clojure/test.check "1.1.0"]
[net.clojars.schneau/psb2 "1.1.0"]] [net.clojars.schneau/psb2 "1.1.0"]
[org.clojure/data.csv "1.0.1"]]
:profiles {:profiling {:dependencies [[com.clojure-goes-fast/clj-async-profiler "0.5.1"]]}} :profiles {:profiling {:dependencies [[com.clojure-goes-fast/clj-async-profiler "0.5.1"]]}}
:main ^:skip-aot propeller.core :main ^:skip-aot propeller.core
:repl-options {:init-ns propeller.core} :repl-options {:init-ns propeller.core}

View File

@ -0,0 +1,28 @@
(ns propeller.problems.data-creation
(:require [psb2.core :as psb2]
[clojure.data.csv :as csv]
[clojure.java.io :as io]))
(def problem "fizz-buzz")
(defn generate-data [problem train-or-test]
(let [train-and-test-data (psb2/fetch-examples "data" problem 200 1000)
cleaned-data (map #(vector (:input1 %) (:output1 %)) ((keyword train-or-test) train-and-test-data))]
(with-open [writer (io/writer (str problem "-" train-or-test ".csv"))]
(csv/write-csv writer
(doall cleaned-data)))))
(defn generate-data-for-problem [problem]
(map (partial generate-data problem) '["test" "train"]))
(defn generate-data-for-all-problems []
(map (partial generate-data-for-problem) '["fuel-cost"
"fizz-buzz"
"gcd"
"find-pair"
"small-or-large"
"scrabble-score"
"grade"
"count-odds"]))
(generate-data-for-all-problems)