def parametric_mean_function(max_iters=<NUM_LIT:100>, optimize=True, plot=True):
<EOL>mf = GPy.core.Mapping(<NUM_LIT:1>,<NUM_LIT:1>)<EOL>mf.f = np.sin<EOL>X = np.linspace(<NUM_LIT:0>,<NUM_LIT:10>,<NUM_LIT:50>).reshape(-<NUM_LIT:1>,<NUM_LIT:1>)<EOL>Y = np.sin(X) + <NUM_LIT:0.5>*np.cos(<NUM_LIT:3>*X) + <NUM_LIT:0.1>*np.random.randn(*X.shape) + <NUM_LIT:3>*X<EOL>mf = GPy.mappings.Linear(<NUM_LIT:1>,<NUM_LIT:1>)<EOL>k =GPy.kern.RBF(<NUM_LIT:1>)<EOL>lik = GPy.likelihoods.Gaussian()<EOL>m = GPy.core.GP(X, Y, kernel=k, likelihood=lik, mean_function=mf)<EOL>if optimize:<EOL><INDENT>m.optimize(max_iters=max_iters)<EOL><DEDENT>if plot:<EOL><INDENT>m.plot()<EOL><DEDENT>return m<EOL>
A linear mean function with parameters that we'll learn alongside the kernel