def __init__(self, Y, input_dim, init='<STR_LIT>', X=None, kernel=None, name="<STR_LIT>"):
if X is None:<EOL><INDENT>from ..util.initialization import initialize_latent<EOL>X, fracs = initialize_latent(init, input_dim, Y)<EOL><DEDENT>else:<EOL><INDENT>fracs = np.ones(input_dim)<EOL><DEDENT>if kernel is None:<EOL><INDENT>kernel = kern.RBF(input_dim, lengthscale=fracs, ARD=input_dim > <NUM_LIT:1>) + kern.Bias(input_dim, np.exp(-<NUM_LIT:2>))<EOL><DEDENT>likelihood = Gaussian()<EOL>super(GPLVM, self).__init__(X, Y, kernel, likelihood, name='<STR_LIT>')<EOL>self.X = Param('<STR_LIT>', X)<EOL>self.link_parameter(self.X, index=<NUM_LIT:0>)<EOL>
:param Y: observed data
:type Y: np.ndarray
:param input_dim: latent dimensionality
:type input_dim: int
:param init: initialisation method for the latent space
:type init: 'PCA'|'random'