treefit.data.generate_2d_n_arms_linked_star_data

treefit.data.generate_2d_n_arms_linked_star_data(n_samples_list, n_arms_list, fatness)[source]

Generate a 2-dimensional linked star tree data.

Each star tree data contain n_samples_vector[i] data points and fit a star tree with n_arms_vector[i] arms.

Parameters
  • n_samples_list ([int]) – The list of the number of samples to be generated. For example, [200, 100, 300] means that the first tree has 200 samples, the second tree has 100 samples and the third tree has 300 samples.

  • n_arms_list ([int]) – The list of the number of arms to be generated. For example, [3, 2, 5] means the first tree fits a star tree with 3 arms, the second tree fits a star tree with 2 arms and the third tree fits a star tree with 5 arms. The length of n_arms_list must equal to the length of n_samples_list.

  • fatness ([float]) – How fat from the based tree. [0.0, 1.0] is available value range.

Returns

linked_star – A generated numpy.array. The rows and columns correspond to samples and features.

Return type

numpy.array

Examples

>>> import treefit
>>> from matplotlib.pyplot as plt
# Generate a 2-dimensional linked star tree data that contain
# 200-400-300 data points and fit a linked star tree with 3-5-4
# arms. The generated data are a bit noisy but tree-like.
>>> linked_star_tree_like =     ...     treefit.data.generate_2d_n_arms_linked_star_data([200, 400, 300],
...                                                      [3, 5, 4],
...                                                      0.1)
>>> plt.figure()
>>> plt.scatter(linked_star_tree_like[:, 0],
...             linked_star_tree_like[:, 1])
# Generate a 2-dimensional linked star tree data that contain
# 300-200 data points and fit a linked star tree with 4-3 arms.
# The generated data are very noisy and less tree-like.
>>> linked_star_less_tree_like =     ...     treefit.data.generate_2d_n_arms_linked_star_data([300, 200],
...                                                      [4, 3],
...                                                      0.9)
>>> plt.figure()
>>> plt.scatter(linked_star_less_tree_like[:, 0],
...             linked_star_less_tree_like[:, 1])