# bayespy.nodes.Categorical¶

class bayespy.nodes.Categorical(p, **kwargs)[source]

Node for categorical random variables.

The node models a categorical random variable with prior probabilities for each category:

Parameters: p : Dirichlet-like node or (…,K)-array Probabilities for each category
__init__(p, **kwargs)[source]

Create Categorical node.

Methods

 __init__(p, **kwargs) Create Categorical node. add_plate_axis(to_plate) broadcasting_multiplier(*args) delete() Delete this node and the children get_gradient(rg) Computes gradient with respect to the natural parameters. get_mask() get_moments() get_parameters() Return parameters of the VB distribution. get_pdf_nodes() get_riemannian_gradient() Computes the Riemannian/natural gradient. get_shape(ind) has_plotter() Return True if the node has a plotter initialize_from_parameters(*args) initialize_from_prior() initialize_from_random() Set the variable to a random sample from the current distribution. initialize_from_value(x, *args) load(filename) logpdf(X[, mask]) Compute the log probability density function Q(X) of this node. lower_bound_contribution([gradient, …]) Compute E[ log p(X|parents) - log q(X) ] lowerbound() move_plates(from_plate, to_plate) observe(x, *args[, mask]) Fix moments, compute f and propagate mask. pdf(X[, mask]) Compute the probability density function of this node. plot([fig]) Plot the node distribution using the plotter of the node random() Draw a random sample from the distribution. save(filename) set_parameters(x) Set the parameters of the VB distribution. set_plotter(plotter) show() Print the distribution using standard parameterization. unobserve() update([annealing])

Attributes

 dims plates plates_multiplier Plate multiplier is applied to messages to parents