Skip to content

← feature_extraction package

DemixingPCA

In addition to systematically capturing the majority of the variance of the data, dPCA also exposes the dependence of the neural representation on task parameters such as stimuli, decisions, or rewards.

The model is output through the built-in model port. More Info... Version 1.1.0

Ports/Properties

data

Data to process.

verbose name
Data
default value
None
port type
DataPort
value type
Packet (can be None)
data direction
INOUT

grouping

Values in (segmented-)markers stream to keep. Trials for each value will be grouped together as though they come from the same trial condition. The grouping variable can be a list of lists to reshape the groups into multiple dimensions (e.g., stimulus x decision). Grouping is only used when training the model.

verbose name
Grouping
default value
None
port type
ListPort
value type
list (can be None)

labels

Labels of feature axes; one character per axis.

verbose name
Labels
default value
None
port type
StringPort
value type
str (can be None)

join

Parameter combinations to join. If a data set has parametrized by time t and stimulus s, then dPCA will split the data into marginalizations corresponding to 't', 's' and 'ts'. At times, we want to join different marginalizations (like 's' and 'ts'), e.g. if we are only interested in the time-modulated stimulus components. In this case, we would pass {'ts' : ['s','ts']}.

verbose name
Join
default value
None
port type
DictPort
value type
dict (can be None)

regularizer

Regularization parameter. If None or 0, then no regularization is applied. For any float > 0, the regularization weight is regularizer*var(data). For any float < 0, the optimal regularization parameter is found during fitting (might take some time).

verbose name
Regularizer
default value
None
port type
FloatPort
value type
float (can be None)

n_components

Number of components to keep. If n_components is {'all': int}, then the same number of components are kept in every marginalization. Otherwise, the dict allows to set the number of components in each marginalization (e.g. {'t' : 10, 'ts' : 5}).

verbose name
Number Of Components
default value
{'all': 5}
port type
DictPort
value type
dict (can be None)

component_sort

Override the default sorting of maginalization-types in the output. Each element in the list is a string from the set of keys provided to join + 'time'. The first len() dimensions of the output will contain the marginalization specified in this list, and the remaining dimensions will keep their original order. Items can be repeated (e.g. ['stimulus', 'stimulus', 'decision']). Follow this node with a SelectRange node to restrict the output to these components.

verbose name
Component Sort
default value
None
port type
ListPort
value type
list (can be None)

n_iter

Number of iterations for randomized SVD solver (sklearn)

verbose name
N Iter
default value
0
port type
IntPort
value type
int (can be None)

initialize_once

Calibrate the model only once. If set to False, then this node will recalibrate itself whenever a non-streaming data chunk is received that has both training labels and associated training instances.

verbose name
Calibrate Only Once
default value
True
port type
BoolPort
value type
bool (can be None)

dont_reset_model

Do not reset the model when the preceding graph is changed. Normally, when certain parameters of preceding nodes are being changed, the model will be reset. If this is enabled, the model will persist, but there is a chance that the model is incompatible when input data format to this node has changed.

verbose name
Do Not Reset Model
default value
False
port type
BoolPort
value type
bool (can be None)

cond_field

The name of the instance data field that contains the conditions to be discriminated. This parameter will be ignored if the packet has previously been processed by a BakeDesignMatrix node.

verbose name
Cond Field
default value
TargetValue
port type
StringPort
value type
str (can be None)

set_breakpoint

Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

verbose name
Set Breakpoint (Debug Only)
default value
False
port type
BoolPort
value type
bool (can be None)

metadata

User-definable meta-data associated with the node. Usually reserved for technical purposes.

verbose name
Metadata
default value
{}
port type
DictPort
value type
dict (can be None)