From d05cb137515fe0c539f146a6057a00db901b7eaa Mon Sep 17 00:00:00 2001 From: antinucleon Date: Fri, 16 May 2014 20:57:42 -0600 Subject: [PATCH] demo --- demo/multi_classification/train.py | 42 +++++++++++++++++++++++++++ demo/multi_classification/wgetdata.sh | 2 ++ 2 files changed, 44 insertions(+) create mode 100755 demo/multi_classification/train.py create mode 100755 demo/multi_classification/wgetdata.sh diff --git a/demo/multi_classification/train.py b/demo/multi_classification/train.py new file mode 100755 index 000000000..2dc98f4d6 --- /dev/null +++ b/demo/multi_classification/train.py @@ -0,0 +1,42 @@ + +import sys +import numpy as np +sys.path.append('../../python/') +import xgboost as xgb + + + +data = np.loadtxt('./dermatology.data', delimiter=',',converters={33: lambda x:int(x == '?'), 34: lambda x:int(x) } ) +sz = data.shape + +train = data[:int(sz[0] * 0.7), :] +test = data[int(sz[0] * 0.7):, :] + +train_X = train[:,0:33] +train_Y = train[:, 34] + + +test_X = test[:,0:33] +test_Y = test[:, 34] + +xg_train = xgb.DMatrix( train_X, label=train_Y) +xg_test = xgb.DMatrix(test_X, label=test_Y) +# setup parameters for xgboost +param = {} +# use logistic regression loss, use raw prediction before logistic transformation +# since we only need the rank +param['objective'] = 'multi:softmax' +# scale weight of positive examples +param['bst:eta'] = 0.1 +param['bst:max_depth'] = 6 +param['eval_metric'] = 'auc' +param['silent'] = 1 +param['nthread'] = 4 +param['num_class'] = 5 + +watchlist = [ (xg_train,'train'), (xg_test, 'test') ] +num_round = 5 +bst = xgb.train(param, xg_train, num_round, watchlist ); + + + diff --git a/demo/multi_classification/wgetdata.sh b/demo/multi_classification/wgetdata.sh new file mode 100755 index 000000000..10dbcd8fb --- /dev/null +++ b/demo/multi_classification/wgetdata.sh @@ -0,0 +1,2 @@ +#! /bin/bash +wget https://archive.ics.uci.edu/ml/machine-learning-databases/dermatology/dermatology.data