def configure_defaults(self, conf):
        if getattr(sys, 'frozen', False):
            root_directory = dirname(sys.executable)  # frozen
        else:
            root_directory = dirname(dirname(dirname(dirname(realpath(__file__)))))  # unfrozen

        conf.set('secret', None)  # This must be overridden by conf or the service will not start for security reasons

        conf.set('root_directory', root_directory)  # the root directory of the application
        conf.set('main_executable_path', sys.argv[0])
        conf.set('version', autoversioning.get_version())

        # If the user installed ClusterRunner manually, the directories used by the manual install should take
        # precedence over the default install location (the home directory).
        static_configured_base_directory = join('/var', 'lib', 'clusterrunner')

        if isdir(static_configured_base_directory):
            base_directory = static_configured_base_directory
        else:
            base_directory = join(expanduser('~/'), '.clusterrunner')

        # where all of the clusterrunner specific files will be stored (other than source code)
        conf.set('base_directory', base_directory)
        # the path to the clusterrunner config file. We have to specify this in defaults since it cannot depend on
        # values in the file it refers to.
        conf.set('config_file', join(base_directory, 'clusterrunner.conf'))

        # Where the clusterrunner service will save the process id to. These settings are set in base_config_loader
        # and not in master_config_loader and slave_config_loader because CLI tools such as "clusterrunner stop"
        # needs to read in these settings.
        conf.set('master_pid_file', join(base_directory, '.clusterrunner_master.pid'))
        conf.set('slave_pid_file', join(base_directory, '.clusterrunner_slave.pid'))

        # contains symlinks to build-specific repos
        conf.set('build_symlink_directory', join('/tmp', 'clusterrunner_build_symlinks'))
        # where the repos are cloned to
        conf.set('repo_directory', None)

        conf.set('project_yaml_filename', 'clusterrunner.yaml')

        conf.set('log_file', None)
        conf.set('log_level', 'DEBUG')
        conf.set('max_log_file_size', 1024 * 1024 * 50)  # 50mb
        conf.set('max_log_file_backups', 5)

        # set eventlog file conf values to None to disable eventlogs by default
        conf.set('log_filename', 'clusterrunner_default.log')
        conf.set('eventlog_filename', 'eventlog_default.log')
        conf.set('eventlog_file', None)
        conf.set('max_eventlog_file_size', 1024 * 1024 * 50)  # 50mb
        conf.set('max_eventlog_file_backups', 5)
        conf.set('hostname', platform.node())
        conf.set('master_hostname', 'localhost')
        conf.set('master_port', '43000')
        conf.set('slaves', ['localhost'])

        # Strict host key checking on git remote operations, disabled by default
        conf.set('git_strict_host_key_checking', False)

        # CORS support - a regex to match against allowed API request origins, or None to disable CORS
        conf.set('cors_allowed_origins_regex', None)

        # Helper executables
        bin_dir = join(root_directory, 'bin')
        conf.set('git_askpass_exe', join(bin_dir, 'git_askpass.sh'))
        conf.set('git_ssh_exe', join(bin_dir, 'git_ssh.sh'))

        # How slaves get the project
        # Slaves would get the project from master if set to True. Otherwise it would just get the project in
        # the same way how the master gets the project.
        conf.set('get_project_from_master', True)

        # Should we have shallow or full clones of the repository?
        # The master must have full clones, as slaves fetch from the master, and one cannot fetch from a shallow clone.
        conf.set('shallow_clones', False)
Undo the scaling of X according to feature_range.
dataset/ETHPy150Open box/ClusterRunner/app/util/conf/base_config_loader.py/BaseConfigLoader.configure_defaults--crossover with--dataset/ETHPy150Open scikit-learn/scikit-learn/sklearn/preprocessing/data.py/MinMaxScaler.inverse_transform