## Generated by Codox

# Propeller 0.3.2

# propeller.downsample

FIXME: write docs

### assign-indices-to-data

`(assign-indices-to-data training-data argmap)`

assigns an index to each training case in order to differentiate them when downsampling

### convert-to-elite-error

`(convert-to-elite-error errors)`

converts a set of errors into a list where all the elite errors are replaced with 0s so that we can use it in the selection of down-samples with elite/not-elite selection

### convert-to-soft-error

`(convert-to-soft-error errors delta)`

FIXME: write docs

### get-distance-between-cases

`(get-distance-between-cases error-lists case-index-1 case-index-2)`

returns the distance between two cases given a list of individual error vectors, and the index these cases exist in the error vector. Only makes the distinction between zero and nonzero errors

### initialize-case-distances

`(initialize-case-distances {:keys [training-data population-size], :as argmap})`

FIXME: write docs

### merge-map-lists-at-index

`(merge-map-lists-at-index big-list small-list)`

merges two lists of maps, replacing the maps in the big list with their corresponding (based on index) maps in the small list

### replace-close-zero-with-zero

`(replace-close-zero-with-zero coll delta)`

replaces values within a delta of zero with zero, used for regression problems

### replace-mins-with-zero

`(replace-mins-with-zero coll)`

replaces the minimum value(s) in a list with zero

### select-downsample-maxmin

`(select-downsample-maxmin training-data {:keys [downsample-rate]})`

selects a downsample that has it’s cases maximally far away by sequentially adding cases to the downsample that have their closest case maximally far away

### select-downsample-maxmin-adaptive

`(select-downsample-maxmin-adaptive training-data {:keys [case-delta]})`

selects a downsample that has it’s cases maximally far away by sequentially adding cases to the downsample that have their closest case maximally far away automatically stops when the maximum minimum distance is below delta

### select-downsample-random

`(select-downsample-random training-data {:keys [downsample-rate]})`

Selects a downsample from the training cases and returns it

### update-at-indices

`(update-at-indices big-vec small-vec indices)`

merges two vectors at the indices provided by a third vector

### update-case-distances

`(update-case-distances evaluated-pop ds-data training-data ids-type)``(update-case-distances evaluated-pop ds-data training-data ids-type solution-threshold)`

updates the case distance field of training-data list, should be called after evaluation of individuals evaluated-pop should be a list of individuals that all have the :errors field with a list of this individuals performance on the each case in the training-data, in order. ids-type is :elite to use elite/not-elite, :soft to consider near solves, and :solved to use solve/not-solved