def test_changed_only(): # Make sure the changed_only param is correctly used set_config(print_changed_only=True) lr = LogisticRegression(C=99) expected = """LogisticRegression(C=99)""" assert lr.__repr__() == expected # Check with a repr that doesn't fit on a single line lr = LogisticRegression(C=99, class_weight=.4, fit_intercept=False, tol=1234, verbose=True) expected = """ LogisticRegression(C=99, class_weight=0.4, fit_intercept=False, tol=1234, verbose=True)""" expected = expected[1:] # remove first \n assert lr.__repr__() == expected imputer = SimpleImputer(missing_values=0) expected = """SimpleImputer(missing_values=0)""" assert imputer.__repr__() == expected # Defaults to np.NaN, trying with float('NaN') imputer = SimpleImputer(missing_values=float('NaN')) expected = """SimpleImputer()""" assert imputer.__repr__() == expected # make sure array parameters don't throw error (see #13583) repr(LogisticRegressionCV(Cs=np.array([0.1, 1]))) set_config(print_changed_only=False)
def test_suppress_validation(): X = np.array([0, np.inf]) assert_raises(ValueError, assert_all_finite, X) mrex.set_config(assume_finite=True) assert_all_finite(X) mrex.set_config(assume_finite=False) assert_raises(ValueError, assert_all_finite, X)
def test_set_config(): assert get_config()['assume_finite'] is False set_config(assume_finite=None) assert get_config()['assume_finite'] is False set_config(assume_finite=True) assert get_config()['assume_finite'] is True set_config(assume_finite=None) assert get_config()['assume_finite'] is True set_config(assume_finite=False) assert get_config()['assume_finite'] is False # No unknown arguments assert_raises(TypeError, set_config, do_something_else=True)
def test_config_context(): assert get_config() == {'assume_finite': False, 'working_memory': 1024, 'print_changed_only': False} # Not using as a context manager affects nothing config_context(assume_finite=True) assert get_config()['assume_finite'] is False with config_context(assume_finite=True): assert get_config() == {'assume_finite': True, 'working_memory': 1024, 'print_changed_only': False} assert get_config()['assume_finite'] is False with config_context(assume_finite=True): with config_context(assume_finite=None): assert get_config()['assume_finite'] is True assert get_config()['assume_finite'] is True with config_context(assume_finite=False): assert get_config()['assume_finite'] is False with config_context(assume_finite=None): assert get_config()['assume_finite'] is False # global setting will not be retained outside of context that # did not modify this setting set_config(assume_finite=True) assert get_config()['assume_finite'] is True assert get_config()['assume_finite'] is False assert get_config()['assume_finite'] is True assert get_config() == {'assume_finite': False, 'working_memory': 1024, 'print_changed_only': False} # No positional arguments assert_raises(TypeError, config_context, True) # No unknown arguments assert_raises(TypeError, config_context(do_something_else=True).__enter__)
def pytest_runtest_teardown(item, nextitem): if isinstance(item, DoctestItem): set_config(print_changed_only=False)
def pytest_runtest_setup(item): if isinstance(item, DoctestItem): set_config(print_changed_only=True)
""" ================================= Compact estimator representations ================================= This example illustrates the use of the print_changed_only global parameter. Setting print_changed_only to True will alterate the representation of estimators to only show the parameters that have been set to non-default values. This can be used to have more compact representations. """ print(__doc__) from mrex.linear_model import LogisticRegression from mrex import set_config lr = LogisticRegression(penalty='l1') print('Default representation:') print(lr) # LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, # intercept_scaling=1, l1_ratio=None, max_iter=100, # multi_class='auto', n_jobs=None, penalty='l1', # random_state=None, solver='warn', tol=0.0001, verbose=0, # warm_start=False) set_config(print_changed_only=True) print('\nWith changed_only option:') print(lr) # LogisticRegression(penalty='l1')
if os.path.exists(image): c_thumb = os.path.join(image_dir, glr_plot[:-4] + '_carousel.png') sphinx_gallery.gen_rst.scale_image(image, c_thumb, max_width, 190) # Config for sphinx_issues # we use the issues path for PRs since the issues URL will forward issues_github_path = 'scikit-learn/scikit-learn' def setup(app): # to hide/show the prompt in code examples: app.add_javascript('js/copybutton.js') app.add_javascript('js/extra.js') app.connect('build-finished', make_carousel_thumbs) # The following is used by sphinx.ext.linkcode to provide links to github linkcode_resolve = make_linkcode_resolve('mrex', 'https://github.com/scikit-learn/' 'scikit-learn/blob/{revision}/' '{package}/{path}#L{lineno}') warnings.filterwarnings("ignore", category=UserWarning, message='Matplotlib is currently using agg, which is a' ' non-GUI backend, so cannot show the figure.') # Reduces the output of estimators mrex.set_config(print_changed_only=True)