Esempio n. 1
0
import xgboost as xgb
import testing as tm

import unittest
import pytest

try:
    import matplotlib
    matplotlib.use('Agg')
    from matplotlib.axes import Axes
    from graphviz import Source
except ImportError:
    pass

pytestmark = pytest.mark.skipif(
    **tm.no_multiple(tm.no_matplotlib(), tm.no_graphviz()))

dpath = 'demo/data/agaricus.txt.train'


class TestPlotting(unittest.TestCase):
    def test_plotting(self):
        m = xgb.DMatrix(dpath)
        booster = xgb.train(
            {
                'max_depth': 2,
                'eta': 1,
                'objective': 'binary:logistic'
            },
            m,
            num_boost_round=2)
Esempio n. 2
0
    iris = load_iris()
    tr_d, te_d, tr_l, te_l = train_test_split(iris.data,
                                              iris.target,
                                              train_size=120)

    classifier = xgb.XGBClassifier(booster='gblinear', n_estimators=100)
    classifier.fit(tr_d, tr_l)

    preds = classifier.predict(te_d)
    labels = te_l
    err = sum([1 for p, l in zip(preds, labels) if p != l]) * 1.0 / len(te_l)
    assert err < 0.5


@pytest.mark.skipif(**tm.no_matplotlib())
@pytest.mark.skipif(**tm.no_graphviz())
def test_sklearn_plotting():
    from sklearn.datasets import load_iris

    iris = load_iris()

    classifier = xgb.XGBClassifier()
    classifier.fit(iris.data, iris.target)

    import matplotlib
    matplotlib.use('Agg')

    from matplotlib.axes import Axes
    from graphviz import Source

    ax = xgb.plot_importance(classifier)
Esempio n. 3
0
import numpy as np
import xgboost as xgb
import testing as tm

import pytest

try:
    import matplotlib
    matplotlib.use('Agg')
    from matplotlib.axes import Axes
    from graphviz import Source
except ImportError:
    pass

pytestmark = pytest.mark.skipif(**tm.no_multiple(tm.no_matplotlib(),
                                                 tm.no_graphviz()))

dpath = 'demo/data/agaricus.txt.train'


class TestPlotting:
    def test_plotting(self):
        m = xgb.DMatrix(dpath)
        booster = xgb.train({'max_depth': 2, 'eta': 1,
                             'objective': 'binary:logistic'}, m,
                            num_boost_round=2)

        ax = xgb.plot_importance(booster)
        assert isinstance(ax, Axes)
        assert ax.get_title() == 'Feature importance'
        assert ax.get_xlabel() == 'F score'