SFAFast
SFAFast
- class SFAFast(word_length=8, alphabet_size=4, window_size=12, norm=False, binning_method='equi-depth', anova=False, variance=False, bigrams=False, skip_grams=False, remove_repeat_words=False, lower_bounding=True, save_words=False, feature_selection='none', max_feature_count=256, p_threshold=0.05, random_state=None, return_sparse=True, return_pandas_data_series=False, n_jobs=1)[source]
Symbolic Fourier Approximation (SFA) Transformer.
Overview: for each series: run a sliding window across the series; for each window, shorten the series with DFT; discretise the shortened series into bins set by MFC; form a word from these discrete values, by default SFA produces a single word per series (window_size=0); if a window is used, it forms a histogram of counts of words.
- Parameters:
- word_length: int, default = 8
length of word to shorten window to (using PAA)
- alphabet_size: int, default = 4
number of values to discretise each value to
- window_size: int, default = 12
size of window for sliding. Input series length for whole series transform
- norm: boolean, default = False
mean normalise words by dropping first fourier coefficient
- binning_method: {“equi-depth”, “equi-width”, “information-gain”, “kmeans”,
“quantile”}, default=”equi-depth”
the binning method used to derive the breakpoints.
- anova: boolean, default = False
If True, the Fourier coefficient selection is done via a one-way ANOVA test. If False, the first Fourier coefficients are selected. Only applicable if labels are given
- variance: boolean, default = False
If True, the Fourier coefficient selection is done via the largest variance. If False, the first Fourier coefficients are selected. Only applicable if labels are given
- save_words: boolean, default = False
whether to save the words generated for each series (default False)
- bigrams: boolean, default = False
whether to create bigrams of SFA words
- feature_selection: {“chi2”, “none”, “random”}, default: chi2
Sets the feature selections strategy to be used. Chi2 reduces the number of words significantly and is thus much faster (preferred). Random also reduces the number significantly. None applies not feature selectiona and yields large bag of words, e.g. much memory may be needed.
- p_threshold: int, default=0.05 (disabled by default)
If feature_selection=chi2 is chosen, feature selection is applied based on the chi-squared test. This is the p-value threshold to use for chi-squared test on bag-of-words (lower means more strict). 1 indicates that the test should not be performed.
- max_feature_count: int, default=256
If feature_selection=random is chosen, this parameter defines the number of randomly chosen unique words used.
- skip_grams: boolean, default = False
whether to create skip-grams of SFA words
- remove_repeat_words: boolean, default = False
whether to use numerosity reduction (default False)
- return_sparse: boolean, default=True
if set to true, a scipy sparse matrix will be returned as BOP model. If set to false a dense array will be returned as BOP model. Sparse arrays are much more compact.
- n_jobs: int, optional, default = 1
The number of jobs to run in parallel for both transform.
-1means using all processors.- return_pandas_data_series: boolean, default = False
set to true to return Pandas Series as a result of transform. setting to true reduces speed significantly but is required for automatic test.
- Attributes:
- breakpoints: = []
- num_insts = 0
- num_atts = 0
References
[1]Schäfer, Patrick, and Mikael Högqvist. “SFA: a symbolic fourier approximation
and index for similarity search in high dimensional datasets.” Proceedings of the 15th international conference on extending database technology. 2012.
Methods
check_is_fitted([method_name])Check if the estimator has been fitted.
clone()Obtain a clone of the object with same hyper-parameters and config.
clone_tags(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names([parameter_set])Create list of all test instances and a list of names for them.
fit(X[, y])Calculate word breakpoints using MCB or IGB.
fit_transform(X[, y])Fit to data, then transform it.
get_class_tag(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
get_class_tags()Get class tags from class, with tag level inheritance from parent classes.
get_config()Get config flags for self.
get_fitted_params([deep])Get fitted parameters.
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get a dict of parameters values for this object.
get_tag(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags()Get tags from instance, with tag level inheritance and overrides.
get_test_params([parameter_set])Return testing parameter settings for the estimator.
inverse_transform(X[, y])Inverse transform X and return an inverse transformed version.
is_composite()Check if the object is composed of other BaseObjects.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
reset()Reset the object to a clean post-init state.
save([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
set_config(**config_dict)Set config flags to given values.
set_fitted()Whether fit has been called.
set_params(**params)Set the parameters of this object.
set_random_state([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_tags(**tag_dict)Set instance level tag overrides to given values.
transform(X[, y])Transform data into SFA words.
transform_to_bag(words, word_len[, y])Transform words to bag-of-pattern and apply feature selection.
update(X[, y, update_params])Update transformer with X, optionally y.

