{:group-id "scicloj", :artifact-id "metamorph.ml", :version "0.7.10", :analysis {"clj" ({:name scicloj.metamorph.ml, :publics ({:name default-loss-fn, :file "scicloj/metamorph/ml.clj", :line 707, :arglists ([dataset]), :doc "Given a datset which must have exactly 1 inference target column return a default\nloss fn. If column is categorical, loss is tech.v3.ml.loss/classification-loss, else\nthe loss is tech.v3.ml.loss/mae (mean average error).", :type :var} {:name default-result-dissoc-in-fn, :file "scicloj/metamorph/ml.clj", :line 282, :arglists ([result]), :type :var} {:name default-result-dissoc-in-seq, :file "scicloj/metamorph/ml.clj", :line 263, :type :var} {:name define-model!, :file "scicloj/metamorph/ml.clj", :line 509, :arglists ([model-kwd train-fn predict-fn {:keys [hyperparameters thaw-fn explain-fn loglik-fn options documentation unsupervised?], :as opts}]), :doc "Create a model definition. An ml model is a function that takes a dataset and an\noptions map and returns a model. A model is something that, combined with a dataset,\nproduces a inferred dataset.", :type :var} {:name ensemble-pipe, :file "scicloj/metamorph/ml/ensemble.clj", :line 18, :arglists ([pipes]), :doc "Creates an ensemble pipeline function out of various pipelines. The different predictions\nget combined via majority voting.\nCan be used in the same way as any other pipeline.", :type :var} {:name evaluate-pipelines, :file "scicloj/metamorph/ml.clj", :line 314, :arglists ([pipe-fn-or-decl-seq train-test-split-seq metric-fn loss-or-accuracy options] [pipe-fn-seq train-test-split-seq metric-fn loss-or-accuracy]), :doc "Evaluates the performance of a seq of metamorph pipelines, which are suposed to have a model as last step under key :model,\nwhich behaves correctly in mode :fit and :transform. The function `scicloj.metamorph.ml/model` is such function behaving correctly.\n\n This function calculates the accuracy or loss, given as `metric-fn` of each pipeline in `pipeline-fn-seq` using all the train-test splits\ngiven in `train-test-split-seq`.\n\n It runs the pipelines in mode :fit and in mode :transform for each pipeline-fn in `pipe-fn-seq` for each split in `train-test-split-seq`.\n\n The function returns a seq of seqs of evaluation results per pipe-fn per train-test split.\n Each of the evaluation results is a context map, which is specified in the malli schema attached to this function.\n\n * `pipe-fn-or-decl-seq` need to be sequence of pipeline functions or pipline declarations which follow the metamorph approach.\n These type of functions get produced typically by calling `scicloj.metamorph/pipeline`. Documentation is here:\n\n * `train-test-split-seq` need to be a sequence of maps containing the train and test dataset (being tech.ml.dataset) at keys :train and :test.\n `tablecloth.api/split->seq` produces such splits. Supervised models require both keys (:train and :test), while unsupervised models only use :train\n\n * `metric-fn` Metric function to use. Typically comming from `tech.v3.ml.loss`. For supervised models the metric-fn receives the trueth\n and predicted values and should return a single double number. For unsupervised models the function receives the fitted ctx\n and should return a singel double number as well. This metric will be used to sort and eventualy filter the result, depending on the options\n (:return-best-pipeline-only and :return-best-crossvalidation-only). The notion of `best` comes from metric-fn combined with loss-and-accuracy\n\n\n * `loss-or-accuracy` If the metric-fn is a loss or accuracy calculation. Can be :loss or :accuracy. Decided the notion of `best` model.\n In case of :loss pipelines with lower metric are better, in case of :accuracy pipelines with higher value are better.\n\n* `options` map controls some mainly performance related parameters. These function can potentialy result in a large ammount of data,\n able to bring the JVM into out-of-memory. We can control how many details the function returns by the following parameter: \n The default are quite aggresive in removing details, and this can be tweaked further into more or less details via:\n \n\n\n * `:return-best-pipeline-only` - Only return information of the best performing pipeline. Default is true.\n * `:return-best-crossvalidation-only` - Only return information of the best crossvalidation (per pipeline returned). Default is true.\n * `:map-fn` - Controls parallelism, so if we use map (:map) , pmap (:pmap) or :mapv to map over different pipelines. Default :pmap\n * `:evaluation-handler-fn` - Gets called once with the complete result of an individual pipeline evaluation.\n It can be used to adapt the data returned for each evaluation and / or to make side effects using\n the evaluatio data.\n The result of this function is taken as evaluation result. It need to contain as a minumum this 2 key paths:\n [:train-transform :metric]\n [:test-transform :metric]\n All other evalution data can be removed, if desired.\n\n It can be used for side effects as well, like experiment tracking on disk.\n The passed in evaluation result is a map with all information on the current evaluation, including the datasets used.\n\n The default handler function is: `scicloj.metamorph.ml/default-result-dissoc--in-fn` which removes the often large\n model object and the training data.\n `identity` can be use to get all evaluation data.\n `scicloj.metamorph.ml/result-dissoc-in-seq--all` reduces even more agressively.\n\n\n\n * `:other-metrices` Specifies other metrices to be calculated during evaluation\n\n This function expects as well the ground truth of the target variable into\n a specific key in the context at key `:model :scicloj.metamorph.ml/target-ds`\n See here for the simplest way to set this up: https://github.com/behrica/metamorph.ml/blob/main/README.md\n The function [[scicloj.ml.metamorph/model]] does this correctly.\n", :type :var} {:name explain, :file "scicloj/metamorph/ml.clj", :line 694, :arglists ([model & [options]]), :doc "Explain (if possible) an ml model. A model explanation is a model-specific map\nof data that usually indicates some level of mapping between features and importance", :type :var} {:name get-categorical-maps, :file "scicloj/metamorph/ml.clj", :line 28, :arglists ([ds]), :type :var} {:name hyperparameters, :file "scicloj/metamorph/ml.clj", :line 565, :arglists ([model-kwd]), :doc "Get the hyperparameters for this model definition\n", :type :var} {:name loglik, :file "scicloj/metamorph/ml.clj", :line 684, :arglists ([model y yhat]), :type :var} {:name model, :file "scicloj/metamorph/ml.clj", :line 724, :arglists ([options]), :doc "Executes a machine learning model in train/predict (depending on :mode)\nfrom the `metamorph.ml` model registry.\n\nThe model is passed between both invocation via the shared context ctx in a\nkey (a step indentifier) which is passed in key `:metamorph/id` and guarantied to be unique for each\npipeline step.\n\nThe function writes and reads into this common context key.\n\nOptions:\n- `:model-type` - Keyword for the model to use\n\nFurther options get passed to `train` functions and are model specific.\n\nSee here for an overview for the models build into scicloj.ml:\n\n\nhttps://scicloj.github.io/scicloj.ml-tutorials/userguide-models.html\n\nOther libraries might contribute other models,\nwhich are documented as part of the library.\n\n\nmetamorph | .\n-------------------------------------|----------------------------------------------------------------------------\nBehaviour in mode :fit | Calls `scicloj.metamorph.ml/train` using data in `:metamorph/data` and `options`and stores trained model in ctx under key in `:metamorph/id`\nBehaviour in mode :transform | Reads trained model from ctx and calls `scicloj.metamorph.ml/predict` with the model in $id and data in `:metamorph/data`\nReads keys from ctx | In mode `:transform` : Reads trained model to use for prediction from key in `:metamorph/id`.\nWrites keys to ctx | In mode `:fit` : Stores trained model in key $id and writes feature-ds and target-ds before prediction into ctx at `:scicloj.metamorph.ml/feature-ds` /`:scicloj.metamorph.ml/target-ds`\n\n\n\n\nSee as well:\n\n* `scicloj.metamorph.ml/train`\n* `scicloj.metamorph.ml/predict`\n\n", :type :var} {:name model-definition-names, :file "scicloj/metamorph/ml.clj", :line 550, :arglists ([]), :doc "Return a list of all registered model defintion names.\n", :type :var} {:name model-definitions*, :file "scicloj/metamorph/ml.clj", :line 506, :doc "Map of model kwd to model definition\n", :type :var} {:name options->model-def, :file "scicloj/metamorph/ml.clj", :line 556, :arglists ([options]), :doc "Return the model definition that corresponse to the :model-type option\n", :type :var} {:name predict, :file "scicloj/metamorph/ml.clj", :line 658, :arglists ([dataset model]), :doc "Predict returns a dataset with only the predictions in it.\n\n* For regression, a single column dataset is returned with the column named after the\n target\n* For classification, a dataset is returned with a float64 column for each target\n value and values that describe the probability distribution.", :type :var} {:name result-dissoc-in-seq--all, :file "scicloj/metamorph/ml.clj", :line 295, :type :var} {:name result-dissoc-in-seq--all-fn, :file "scicloj/metamorph/ml.clj", :line 310, :arglists ([result]), :type :var} {:name result-dissoc-in-seq--ctxs, :file "scicloj/metamorph/ml.clj", :line 286, :type :var} {:name result-dissoc-in-seq-ctx-fn, :file "scicloj/metamorph/ml.clj", :line 291, :arglists ([result]), :type :var} {:name score, :file "scicloj/metamorph/ml.clj", :line 58, :arglists ([predictions-ds trueth-ds target-column-name metric-fn other-metrices]), :type :var} {:name thaw-model, :file "scicloj/metamorph/ml.clj", :line 610, :arglists ([model {:keys [thaw-fn], :as opts}] [model]), :doc "Thaw a model. Model's returned from train may be 'frozen' meaning a 'thaw'\noperation is needed in order to use the model. This happens for you during predict\nbut you may also cached the 'thawed' model on the model map under the\n':thawed-model' keyword in order to do fast predictions on small datasets.", :type :var} {:name train, :file "scicloj/metamorph/ml.clj", :line 571, :arglists ([dataset options]), :doc "Given a dataset and an options map produce a model. The model-type keyword in the\noptions map selects which model definition to use to train the model. Returns a map\ncontaining at least:\n\n\n* `:model-data` - the result of that definitions's train-fn.\n* `:options` - the options passed in.\n* `:id` - new randomly generated UUID.\n* `:feature-columns` - vector of column names.\n* `:target-columns` - vector of column names.", :type :var})} {:name scicloj.metamorph.ml.categorical, :publics ({:name transform-one-hot, :file "scicloj/metamorph/ml/categorical.clj", :line 68, :arglists ([column-selector strategy] [column-selector strategy options]), :doc "Transformer which mapps categorical variables to numbers. Each value of the\ncolumn gets its won column in one-hot-encoding.\n\nTo handle different levls of a variable between train an test data, three\nstrategies are available:\n\n* `:full` The levels are retrieved from a dataset at key :metamorph.ml/full-ds in the context\n* `:independent` One-hot columns are fitted and transformed independently for train and test data\n* `:fit` The mapping fitted in mode :fit is used in :transform, and it is assumed that all levels are present in the data during :fit\n\n`options` can be:\n* `:table-args` allows to specify the precise mapping as a sequence of pairs of [val idx] or as a sorted seq of values.\n* `:result-datatype` Datatype of the one-hot-mapping column\n\n", :type :var})} {:name scicloj.metamorph.ml.classification, :publics ({:name confusion-map, :file "scicloj/metamorph/ml/classification.clj", :line 15, :arglists ([predicted-labels labels normalize] [predicted-labels labels]), :doc "Creates a confusion-matrix in map form. Can be either as raw counts or normalized.\n`normalized` when :all (default) it is normalized\n :none otherwise\n ", :type :var} {:name confusion-map->ds, :file "scicloj/metamorph/ml/classification.clj", :line 45, :arglists ([conf-matrix-map]), :doc "Converts teh confusion-matrix map obtained via `confusion-mao` into a dataset representation\n", :type :var})} {:name scicloj.metamorph.ml.ensemble, :publics ({:name ensemble-pipe, :file "scicloj/metamorph/ml/ensemble.clj", :line 18, :arglists ([pipes]), :doc "Creates an ensemble pipeline function out of various pipelines. The different predictions\nget combined via majority voting.\nCan be used in the same way as any other pipeline.", :type :var})} {:name scicloj.metamorph.ml.evaluation-handler, :publics ({:name example-nippy-handler, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 97, :arglists ([files output-dir result-reduce-fn]), :type :var} {:name file->topforms-with-metadata, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 11, :arglists ([path]), :type :var} {:name fn-symbol->code, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 54, :arglists ([fn-symbol pipe-ns pipeline-source-file]), :type :var} {:name fns->code-list, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 34, :arglists ([pipeline-source-file]), :type :var} {:name fns->code-map, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 48, :arglists ([pipeline-source-file]), :type :var} {:name get-classpath, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 77, :arglists ([]), :type :var} {:name get-code, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 62, :arglists ([symbol pipe-ns pipeline-source-file]), :type :var} {:name get-fn-sources, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 82, :arglists ([qualified-pipe-decl pipe-ns pipeline-source-file]), :type :var} {:name get-source-information, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 93, :arglists ([qualified-pipe-decl pipe-ns pipeline-source-file]), :type :var} {:name qualify-keywords, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 112, :arglists ([pipe-decl pipe-ns]), :type :var} {:name qualify-pipelines, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 132, :arglists ([pipe-decls pipe-ns]), :type :var} {:name resolve-keyword, :file "scicloj/metamorph/ml/evaluation_handler.clj", :line 19, :arglists ([k pipe-ns]), :doc "Interpret keyword or list as a symbol and try to resolve it.\n", :type :var})} {:name scicloj.metamorph.ml.gridsearch, :publics ({:name categorical, :file "scicloj/metamorph/ml/gridsearch.clj", :line 65, :arglists ([value-vec]), :doc "Given a vector a categorical values create a gridsearch definition.\n", :type :var} {:name linear, :file "scicloj/metamorph/ml/gridsearch.clj", :line 45, :arglists ([start end n-steps res-dtype-or-space] [start end n-steps] [start end]), :doc "Create a gridsearch definition which does a linear search.\n\n* res-dtype-or-space map be either a datatype keyword or a vector\n of categorical values.", :type :var} {:name sobol-gridsearch, :file "scicloj/metamorph/ml/gridsearch.clj", :line 109, :arglists ([opt-map start-idx] [opt-map]), :doc "Given an map of key->values where some of the values are gridsearch definitions\n produce a sequence of fully defined maps.\n\n\n```clojure\nuser> (require '[tech.v3.ml.gridsearch :as ml-gs])\nnil\nuser> (def opt-map {:a (ml-gs/categorical [:a :b :c])\n :b (ml-gs/linear 0.01 1 10)\n :c :not-searched})\nuser> opt-map\n{:a\n {:tech.v3.ml.gridsearch/type :linear,\n :start 0.0,\n :end 2.0,\n :n-steps 3,\n :result-space [:a :b :c]}\n ...\n\nuser> (ml-gs/sobol-gridsearch opt-map)\n({:a :b, :b 0.56, :c :not-searched}\n {:a :c, :b 0.22999999999999998, :c :not-searched}\n {:a :b, :b 0.78, :c :not-searched}\n...\n```\n ", :type :var}), :doc "Gridsearching as defined by create a map with gridsearch definitions\nfor its values and then gridsearching which produces a sequence of full\ndefined maps.\n\n\nThe initial default implementation uses the sobol sequence."} {:name scicloj.metamorph.ml.learning-curve, :publics ({:name learning-curve, :file "scicloj/metamorph/ml/learning_curve.clj", :line 8, :arglists ([ds pipe-fn train-sizes {:keys [k metric-fn loss-or-accuracy]}]), :doc "Generates a learnining curve.\n\nThe functions splits the dataset in a fixed size test set\nand increasingly larger training sets. A model is trained at each\nstep and evaluated.\n\nReturns dataset with the learninig curve data.\n\n`dataset` the TMD dataset to use\n`train-sizes` vector of double from 0 to 1, controlling the sizes of the training data.\n`options`\n `k` At each step a k cross-validation is done\n `metric-fn` the metric to use for evaluation the model\n `loss-or-accuracy` If the metric-fn calculates :loss or :accuracy\n\n", :type :var})} {:name scicloj.metamorph.ml.loss, :publics ({:name auc, :file "scicloj/metamorph/ml/loss.clj", :line 74, :arglists ([predictions labels]), :doc "Calculates area under the ROC curve. Uses AUC formula from R's 'mlr' package.\n(sum(r[i]) - n.pos * (n.pos + 1) / 2) / (n.pos * n.neg)\nSee https://github.com/mlr-org/mlr/blob/main/R/measures.R", :type :var} {:name classification-accuracy, :file "scicloj/metamorph/ml/loss.clj", :line 55, :arglists ([lhs rhs]), :doc "correct/total.\nModel output is a sequence of probability distributions.\nlabel-seq is a sequence of values. The answer is considered correct\nif the key highest probability in the model output entry matches\nthat label.", :type :var} {:name classification-loss, :file "scicloj/metamorph/ml/loss.clj", :line 67, :arglists ([lhs rhs]), :doc "1.0 - classification-accuracy.\n", :type :var} {:name mae, :file "scicloj/metamorph/ml/loss.clj", :line 27, :arglists ([predictions labels]), :doc "mean absolute error\n", :type :var} {:name mse, :file "scicloj/metamorph/ml/loss.clj", :line 8, :arglists ([predictions labels]), :doc "mean squared error\n", :type :var} {:name rmse, :file "scicloj/metamorph/ml/loss.clj", :line 20, :arglists ([predictions labels]), :doc "root mean squared error\n", :type :var}), :doc "Simple loss functions.\n"} {:name scicloj.metamorph.ml.malli, :publics ({:name instrument-mm, :file "scicloj/metamorph/ml/malli.clj", :line 8, :arglists ([fn]), :type :var} {:name instrument-ns, :file "scicloj/metamorph/ml/malli.clj", :line 19, :arglists ([ns]), :type :var})} {:name scicloj.metamorph.ml.metrics, :publics ({:name accuracy, :file "scicloj/metamorph/ml/metrics.clj", :line 26, :arglists ([y y_hat]), :doc "First argument `y` is the true class, `y_hat` is the predicted value.\nReturns the percentage correct.", :type :var} {:name AIC, :file "scicloj/metamorph/ml/metrics.clj", :line 268, :arglists ([model ds prediction-ds]), :type :var} {:name all-metrics, :file "scicloj/metamorph/ml/metrics.clj", :line 245, :arglists ([labels predictions label->class-fn iou-fn iou-threshold]), :doc "Returns global and per-class metrics for a given set of labels and predictions.\n- label->class-fn should take a label or prediction and return the class as a string or keyword.\n- iou-fn should take a label and prediction and return the intersection over union score\n- iou-threshold determines what iou value constitutes a matching bounding box.\n** NOTE: If labels and predictions are produced from a sequence of images,\n ensure that the bounding boxes are shifted in each image so that there is not an overlap.", :type :var} {:name BIC, :file "scicloj/metamorph/ml/metrics.clj", :line 282, :arglists ([model ds prediction-ds]), :type :var} {:name eer-accuracy, :file "scicloj/metamorph/ml/metrics.clj", :line 150, :arglists ([y y_est] [y y_est bins]), :doc "Returns the accuracy where TPR and FPR are balanced, as well as the\nthreshold value where this balance is obtained. ROC-EER is the standard\naccuracy measurement in facial recognition.", :type :var} {:name equal-error-point, :file "scicloj/metamorph/ml/metrics.clj", :line 136, :arglists ([y y_est] [y y_est bins]), :doc "Given y and the continuous, normalized output of a predictor's estimates of\nbinary class predictions corresponding to y_hat, select the threshold which\nminimizes the difference between true and false positive rates.", :type :var} {:name error-rate, :file "scicloj/metamorph/ml/metrics.clj", :line 17, :arglists ([y y_hat]), :doc "First argument `y` is the true class, `y_hat` is the predicted value.\nReturns the percentage error rate.", :type :var} {:name false-negatives, :file "scicloj/metamorph/ml/metrics.clj", :line 39, :arglists ([y y_hat]), :doc "Returns array with 1. values assigned to false negatives.\n", :type :var} {:name false-positives, :file "scicloj/metamorph/ml/metrics.clj", :line 33, :arglists ([y y_hat]), :doc "Returns array with 1. values assigned to false positives.\n", :type :var} {:name fnr, :file "scicloj/metamorph/ml/metrics.clj", :line 87, :arglists ([y y_hat]), :doc "The false negative rate, using the strict ROC definition.\n", :type :var} {:name fpr, :file "scicloj/metamorph/ml/metrics.clj", :line 73, :arglists ([y y_hat]), :doc "The false negative rate, using the strict ROC definition.\n", :type :var} {:name precision, :file "scicloj/metamorph/ml/metrics.clj", :line 65, :arglists ([y y_hat]), :doc "Returns precision for a binary classifier, a measure of false positive rate\n", :type :var} {:name recall, :file "scicloj/metamorph/ml/metrics.clj", :line 57, :arglists ([y y_hat]), :doc "Returns recall for a binary classifier, a measure of false negative rate\n", :type :var} {:name roc-curve, :file "scicloj/metamorph/ml/metrics.clj", :line 117, :arglists ([y y_est] [y y_est bins]), :doc "Compute an ROC curve with `bins` level of discretization for threshold values\nbetween 0.0 and 1.0 to compute true and false positive rates for.\n\nThis is not at all an ideal implementation, just a stand in that is useful\nfor certain problems until a real alternative is provided.", :type :var} {:name threshold, :file "scicloj/metamorph/ml/metrics.clj", :line 93, :arglists ([y_est thresh]), :doc "Return a binary mask of all values above threshold.\n", :type :var} {:name tpr, :file "scicloj/metamorph/ml/metrics.clj", :line 80, :arglists ([y y_hat]), :doc "The true positive rate, using the strict ROC definition.\n", :type :var} {:name true-negatives, :file "scicloj/metamorph/ml/metrics.clj", :line 51, :arglists ([y y_hat]), :doc "Returns array with 1. values assigned to true negatives.\n", :type :var} {:name true-positives, :file "scicloj/metamorph/ml/metrics.clj", :line 45, :arglists ([y y_hat]), :doc "Returns array with 1. values assigned to true positives.\n", :type :var} {:name unit-space, :file "scicloj/metamorph/ml/metrics.clj", :line 98, :arglists ([divs]), :doc "Returns an array with divs+1 values that evenly divide a space from 0.0 to\n1.0, inclusive.", :type :var} {:name wrongs, :file "scicloj/metamorph/ml/metrics.clj", :line 10, :arglists ([y y_hat]), :doc "Given `y` array of ground truth labels and `y_hat` classifier predictions,\nreturns array with 1.0 values where `y` does not equal `y_hat`.", :type :var}), :doc "Excellent metrics tools from the cortex project.\n"} {:name scicloj.metamorph.ml.preprocessing, :publics ({:name min-max-scale, :file "scicloj/metamorph/ml/preprocessing.clj", :line 52, :arglists ([columns-selector {:keys [min max], :or {min -0.5, max 0.5}, :as options}]), :doc "Metamorph transfomer, which scales the column data into a given range.\n\n`columns-selector` tablecloth columns-selector to choose columns to work on\n`meta-field` tablecloth meta-field working with `columns-selector`\n\n`options` Options for scaler, can take:\n `min` Minimal value to scale to (default -0.5)\n `max` Maximum value to scale to (default 0.5)\n\nmetamorph | .\n-------------------------------------|----------------------------------------------------------------------------\nBehaviour in mode :fit | Scales the dataset at key `:metamorph/data` and stores the trained model in ctx under key at `:metamorph/id`\nBehaviour in mode :transform | Reads trained min-max-scale model from ctx and applies it to data in `:metamorph/data`\nReads keys from ctx | In mode `:transform` : Reads trained model to use for from key in `:metamorph/id`.\nWrites keys to ctx | In mode `:fit` : Stores trained model in key $id\n\n", :type :var} {:name std-scale, :file "scicloj/metamorph/ml/preprocessing.clj", :line 27, :arglists ([columns-selector meta-field {:keys [mean? stddev?], :or {mean? true, stddev? true}, :as options}] [columns-selector options]), :doc "Metamorph transfomer, which centers and scales the dataset per column.\n\n`columns-selector` tablecloth columns-selector to choose columns to work on\n`meta-field` tablecloth meta-field working with `columns-selector`\n\n\n`options` are the options for the scaler and can take:\n `mean?` If true (default), the data gets shifted by the column means, so 0 centered\n `stddev?` If true (default), the data gets scaled by the standard deviation of the column\n\nmetamorph | .\n-------------------------------------|----------------------------------------------------------------------------\nBehaviour in mode :fit | Centers and scales the dataset at key `:metamorph/data` and stores the trained model in ctx under key at `:metamorph/id`\nBehaviour in mode :transform | Reads trained std-scale model from ctx and applies it to data in `:metamorph/data`\nReads keys from ctx | In mode `:transform` : Reads trained model to use for from key in `:metamorph/id`.\nWrites keys to ctx | In mode `:fit` : Stores trained model in key $id\n\n", :type :var})} {:name scicloj.metamorph.ml.tools, :publics ({:name dissoc-in, :file "scicloj/metamorph/ml/tools.clj", :line 13, :arglists ([m ks]), :doc "Dissociate a value in a nested assocative structure, identified by a sequence\nof keys. Any collections left empty by the operation will be dissociated from\ntheir containing structures.", :type :var} {:name multi-dissoc-in, :file "scicloj/metamorph/ml/tools.clj", :line 28, :arglists ([m kss]), :type :var} {:name pp-str, :file "scicloj/metamorph/ml/tools.clj", :line 35, :arglists ([x]), :type :var})} {:name scicloj.metamorph.ml.toydata, :publics ({:name breast-cancer-ds, :file "scicloj/metamorph/ml/toydata.clj", :line 63, :arglists ([]), :type :var} {:name diabetes-ds, :file "scicloj/metamorph/ml/toydata.clj", :line 24, :arglists ([]), :type :var} {:name iris-ds, :file "scicloj/metamorph/ml/toydata.clj", :line 47, :arglists ([]), :type :var} {:name mtcars-ds, :file "scicloj/metamorph/ml/toydata.clj", :line 112, :arglists ([]), :type :var} {:name sonar-ds, :file "scicloj/metamorph/ml/toydata.clj", :line 10, :arglists ([]), :type :var} {:name titanic-ds-split, :file "scicloj/metamorph/ml/toydata.clj", :line 100, :arglists ([]), :type :var})} {:name scicloj.metamorph.ml.toydata.ggplot, :publics ({:name diamonds, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 17, :type :var} {:name ecomonics, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 20, :type :var} {:name ecomonics_long, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 23, :type :var} {:name faithfuld, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 26, :type :var} {:name luv_colours, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 29, :type :var} {:name midwest, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 32, :type :var} {:name mpg, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 35, :type :var} {:name msleep, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 38, :type :var} {:name presidential, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 41, :type :var} {:name seals, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 44, :type :var} {:name txhousing, :file "scicloj/metamorph/ml/toydata/ggplot.clj", :line 47, :type :var})} {:name scicloj.metamorph.ml.verify, :publics ({:name basic-classification, :file "scicloj/metamorph/ml/verify.clj", :line 55, :arglists ([options-map max-avg-loss] [options-map]), :type :var} {:name basic-regression, :file "scicloj/metamorph/ml/verify.clj", :line 36, :arglists ([options-map max-avg-loss] [options-map]), :type :var} {:name classification-titanic*, :file "scicloj/metamorph/ml/verify.clj", :line 22, :type :var} {:name regression-iris*, :file "scicloj/metamorph/ml/verify.clj", :line 16, :type :var} {:name target-colname, :file "scicloj/metamorph/ml/verify.clj", :line 13, :type :var})} {:name scicloj.metamorph.ml.viz, :publics ({:name apply-xform-kvs, :file "scicloj/metamorph/ml/viz.clj", :line 8, :arglists ([spec kvs]), :type :var} {:name confusion-matrix, :file "scicloj/metamorph/ml/viz.clj", :line 56, :arglists ([predicted-labels labels opts hanami-opts] [predicted-labels labels]), :doc "Generates a confusin matrix plot out of `predicted-labels` and `labels`\n\n`opts`\n `normalize` : Can be :none (default) or :all and decides if the values in the matrix are counts or percentages.\n\n`hanami-opts` Options passed to hanami to control the plot. Can be any of the default hanami\nsubstituions keys.\n\n", :type :var} {:name learning-curve, :file "scicloj/metamorph/ml/viz.clj", :line 12, :arglists ([dataset pipe-fn train-sizes lc-opts hanami-opts] [dataset pipe-fn lc-opts] [dataset pipe-fn lc-opts hanami-opts]), :doc "Generates a learning curve.\n\nThe functions splits the dataset in a fixed size test set\nand increasingly larger training sets. A model is trained at each\nstep and evaluated.\n\nReturns a vega lite spec of the learninig curve plot.\n\n`dataset` the TMD dataset to use\n`train-sizes` vector of double from 0 to 1, controlling the sizes of the training data.\n`lc-opts`\n `k` At each step a k cross-validation is done\n `metric-fn` the metric to use for evaluation the model\n `loss-or-accuracy` If the metric-fn calculates :loss or :accuracy\n`hanami-opts` Options passed to hanami to control the plot. Can be the default hanami\n substituions keys or:\n `TRAIN-COLOR:` Color used for the train curve (default: blue)\n `TEST-COLOR:` Color used for the test curve (default: orange)\n\n", :type :var})} {:name scicloj.metamorph.ml.viz.confusionmatrix, :publics ({:name cm-values, :file "scicloj/metamorph/ml/viz/confusionmatrix.clj", :line 38, :arglists ([predicted-labels labels opts]), :type :var} {:name confusion-matrix-chart, :file "scicloj/metamorph/ml/viz/confusionmatrix.clj", :line 19, :arglists ([values]), :type :var} {:name layer, :file "scicloj/metamorph/ml/viz/confusionmatrix.clj", :line 10, :type :var})} {:name scicloj.metamorph.ml.viz.learning-curve, :publics ({:name errorband-encoding-test, :file "scicloj/metamorph/ml/viz/learning_curve.clj", :line 21, :type :var} {:name errorband-encoding-train, :file "scicloj/metamorph/ml/viz/learning_curve.clj", :line 9, :type :var} {:name layer, :file "scicloj/metamorph/ml/viz/learning_curve.clj", :line 49, :type :var} {:name metric-encoding, :file "scicloj/metamorph/ml/viz/learning_curve.clj", :line 34, :type :var} {:name spec, :file "scicloj/metamorph/ml/viz/learning_curve.clj", :line 59, :arglists ([lc-vl-data]), :type :var} {:name vl-data, :file "scicloj/metamorph/ml/viz/learning_curve.clj", :line 89, :arglists ([lc-rf]), :type :var})})}, :pom-str "\n\n 4.0.0\n jar\n scicloj\n metamorph.ml\n 0.7.10\n metamorph.ml\n \n \n org.clojure\n clojure\n 1.11.2\n \n \n generateme\n fastmath\n 2.4.0\n \n \n aerial.hanami\n aerial.hanami\n 0.19.0\n \n \n scicloj\n tablecloth\n 7.021\n \n \n pppmap\n pppmap\n 1.0.0\n \n \n scicloj\n metamorph\n 0.2.4\n \n \n metosin\n malli\n 0.14.0\n \n \n \n src\n \n \n \n clojars\n https://repo.clojars.org/\n \n \n Machine learning functions for tech.ml.dataset\n https://github.com/scicloj/metamorph.ml\n \n \n Eclipse Public License\n http://www.eclipse.org/legal/epl-v10.html\n \n \n \n \n Carsten Behring\n \n \n \n https://github.com/scicloj/metamorph.ml\n scm:git:https://github.com/scicloj/metamorph.ml.git\n scm:git:https://github.com/scicloj/metamorph.ml.git\n v0.7.10\n \n\n"}