make_poly_ids#

fastcan.narx.make_poly_ids(n_features=1, degree=1, max_poly=None, random_state=None)#

Generate ids for polynomial features. (variable_index, variable_index, …) variable_index starts from 1, and 0 represents constant.

Parameters:
  • n_features (int, default=1) – The number of input features.

  • degree (int, default=1) – The maximum degree of polynomial features.

  • max_poly (int, default=None) – Maximum number of ids of polynomial features to generate. Randomly selected by reservoir sampling. If None, all possible ids are returned.

  • random_state (int or RandomState instance, default=None) – Used when max_poly is not None to subsample ids of polynomial features. See Glossary for details.

Returns:

ids – The unique id numbers of output features.

Return type:

array-like of shape (n_outputs, degree)

Examples

>>> from fastcan.narx import make_poly_ids
>>> make_poly_ids(2, degree=3)
array([[0, 0, 1],
       [0, 0, 2],
       [0, 1, 1],
       [0, 1, 2],
       [0, 2, 2],
       [1, 1, 1],
       [1, 1, 2],
       [1, 2, 2],
       [2, 2, 2]])