Generate a multi-dimensional star tree data that contain n_samples data points and fit a star tree with n_arms arms.

generate_n_arms_star_data(n_features, n_samples, n_arms, fatness)

Arguments

n_features

The number of features (dimensions) to be generated.

n_samples

The number of samples to be generated.

n_arms

The number of arms to be generated.

fatness

How fat from the based star tree. [0.0, 1.0] is available value range.

Value

A generated martix. The rows and columns correspond to samples and features.

Examples

# Generate a 100-dimensional star tree data that contain 500 data points
# and fit a star tree with 3 arms. The generated data are a bit noisy but
# tree-like.
star100.tree_like <- treefit::generate_n_arms_star_data(100, 500, 3, 0.1)
# Reduce dimension to visualize.
star3.tree_like = prcomp(star100.tree_like, rank.=3)$x
plotly::plot_ly(data.frame(star3.tree_like),
                x=~PC1,
                y=~PC2,
                z=~PC3,
                type="scatter3d",
                mode="markers",
                marker=list(size=1))