Transpile a trained model to the syntax of a
        chosen programming language.

        Parameters
        ----------
        :param class_name : string, default: None
            The name for the ported class.

        :param method_name : string, default: None
            The name for the ported method.

        :param num_format : lambda x, default: lambda x: str(x)
            The representation of the floating-point values.

        :param details : bool, default False
            Return additional data for the compilation and execution.

        Returns
        -------
        model : {mix}
            The ported model as string or a dictionary
            with further information.

def export(self, class_name=None, method_name=None,
               num_format=lambda x: str(x), details=False, **kwargs):
        # pylint: disable=unused-argument
        """
        Transpile a trained model to the syntax of a
        chosen programming language.

        Parameters
        ----------
        :param class_name : string, default: None
            The name for the ported class.

        :param method_name : string, default: None
            The name for the ported method.

        :param num_format : lambda x, default: lambda x: str(x)
            The representation of the floating-point values.

        :param details : bool, default False
            Return additional data for the compilation and execution.

        Returns
        -------
        model : {mix}
            The ported model as string or a dictionary
            with further information.
        """

        if class_name is None or class_name == '':
            class_name = self.estimator_name

        if method_name is None or method_name == '':
            method_name = self.target_method

        if isinstance(num_format, types.LambdaType):
            self.template._num_format = num_format

        output = self.template.export(class_name=class_name,
                                      method_name=method_name, **kwargs)
        if not details:
            return output

        language = self.target_language
        filename = Porter._get_filename(class_name, language)
        comp_cmd, exec_cmd = Porter._get_commands(filename, class_name,
                                                  language)
        output = {
            'estimator': str(output),
            'filename': filename,
            'class_name': class_name,
            'method_name': method_name,
            'cmd': {
                'compilation': comp_cmd,
                'execution': exec_cmd
            },
            'algorithm': {
                'type': self.estimator_type,
                'name': self.estimator_name
            }
        }
        return output