import numpy as np
[ドキュメント]class linear:
    """
    Attributes
    ==========
    basis:
        basis for random feature map
    nbasis: int
        number of basis
    bias:
    params:
    _init_params:
        initial value of the parameter
    """
    def __init__( self, basis, params = None, bias = None ):
        self.basis  = basis
        self.nbasis = basis.nbasis
        self._init_params = params
        self.bias = bias
        self.params = params
        if params is None:
            self.params = np.zeros(self.nbasis)
        self.nparams = self.nbasis
[ドキュメント]    def get_mean( self, X, Psi = None, params = None, bias = None ):
        """
        calculate mean values
        Parameters
        ==========
        X: numpy.ndarray
            input as an N-by-d matrix
        Psi: numpy.ndarray
            feature maps ``Psi(X)`` as an N-by-l matrix
            (default: self.get_basis(X))
        params: numpy.ndarray
            weight as a vector with size l
            (default: self.params)
        bias: float
            (default: self.bias)
        Returns
        =======
        numpy.ndarray
            Psi * params + bias
        """
        if params is None:
            params = np.copy( self.params)
        if bias is None:
            bias = np.copy( self.bias )
        if Psi is None:
            Psi = self.get_basis( X )
        return Psi.dot(params) + bias 
[ドキュメント]    def set_params( self, params ):
        """
        set parameters
        Parameters
        ==========
        params: np.ndarray
        """
        self.params = params 
[ドキュメント]    def set_bias( self, bias ):
        """
        set bias
        Parameters
        ==========
        bias: float
        """
        self.bias = bias 
[ドキュメント]    def _init_params( self, params ):
        """
        initialize parameters
        Parameters
        ==========
        params: np.ndarray
            (default: numpy.zeros(self.nbasis))
        """
        if params is None:
            self.params = np.zeros( self.nbasis )
        self.params = params 
    def _init_bias( self, bias ):
        """
        initialize bias
        Parameters
        ==========
        bias: float
            (default: 0)
        """
        if bias is None:
            self.bias = 0
        self.bias = bias