From f0cfc9f70a87faacde85d425156aaa70ceffb528 Mon Sep 17 00:00:00 2001 From: Fernando Nogueira Date: Sat, 27 Sep 2014 10:40:25 -0400 Subject: [PATCH 01/12] Removes the cv module, I decided to keep thing simple and concentrate on whats important. Also changes the structure of the package, with the same idea in mind. --- bayes_opt/.DS_Store | Bin 0 -> 6148 bytes bayes_opt/.idea/.DS_Store | Bin 0 -> 6148 bytes bayes_opt/.idea/.name | 1 + bayes_opt/.idea/bayes_opt.iml | 9 + bayes_opt/.idea/encodings.xml | 5 + bayes_opt/.idea/misc.xml | 5 + bayes_opt/.idea/modules.xml | 9 + bayes_opt/.idea/scopes/scope_settings.xml | 5 + bayes_opt/.idea/vcs.xml | 7 + bayes_opt/.idea/workspace.xml | 399 ++++++++++++++++++++++ bayes_opt/{bo => }/GP.py | 7 +- bayes_opt/GP.pyc | Bin 0 -> 9934 bytes bayes_opt/README | 18 + bayes_opt/__init__.py | 5 +- bayes_opt/__init__.pyc | Bin 0 -> 304 bytes bayes_opt/{bo => }/bayes_opt.py | 7 +- bayes_opt/bayes_opt.pyc | Bin 0 -> 18556 bytes bayes_opt/bo/__init__.py | 2 - bayes_opt/cv/__init__.py | 1 - bayes_opt/cv/magic_box.py | 323 ------------------ bayes_opt/examples/sklearn_example.py | 97 ++++++ bayes_opt/examples/visualization.py | 235 +++++++++++++ bayes_opt/support/__init__.pyc | Bin 0 -> 155 bytes bayes_opt/support/objects.pyc | Bin 0 -> 8196 bytes 24 files changed, 795 insertions(+), 340 deletions(-) create mode 100644 bayes_opt/.DS_Store create mode 100644 bayes_opt/.idea/.DS_Store create mode 100644 bayes_opt/.idea/.name create mode 100644 bayes_opt/.idea/bayes_opt.iml create mode 100644 bayes_opt/.idea/encodings.xml create mode 100644 bayes_opt/.idea/misc.xml create mode 100644 bayes_opt/.idea/modules.xml create mode 100644 bayes_opt/.idea/scopes/scope_settings.xml create mode 100644 bayes_opt/.idea/vcs.xml create mode 100644 bayes_opt/.idea/workspace.xml rename bayes_opt/{bo => }/GP.py (98%) create mode 100644 bayes_opt/GP.pyc create mode 100644 bayes_opt/README create mode 100644 bayes_opt/__init__.pyc rename bayes_opt/{bo => }/bayes_opt.py (99%) create mode 100644 bayes_opt/bayes_opt.pyc delete mode 100644 bayes_opt/bo/__init__.py delete mode 100644 bayes_opt/cv/__init__.py delete mode 100644 bayes_opt/cv/magic_box.py create mode 100644 bayes_opt/examples/sklearn_example.py create mode 100644 bayes_opt/examples/visualization.py create mode 100644 bayes_opt/support/__init__.pyc create mode 100644 bayes_opt/support/objects.pyc diff --git a/bayes_opt/.DS_Store b/bayes_opt/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6d6dae9fa76112fd64313717c94c936fe4deea6c GIT binary patch literal 6148 zcmeHKy-ve05dK_(i0IM@Dz!pcSS$4nOckD>BMVi7+DeTQ(N<#2#0&6BJOC@a0t`H0v!M`HOAkV>ug+r$t`Y zJY_%_5C(oD1Lnua05dGG4*p+t^-2XtJ6m3)X|`EUfw$iF+APJhWjkB@?l!cQb8k;* zX*QnHoC{=lz$D0s)k|pga`wA(4)tU6VxP5t`F>~(^5TolF=c$h1UX79slN)d51xWBfQr&_I-(`Hv$eK3K5G+d_taR}ud--DNV((KboeOlQZqufggb=VVP%m< PNaP}5Xb>d~{3rw8eJgqn literal 0 HcmV?d00001 diff --git a/bayes_opt/.idea/.DS_Store b/bayes_opt/.idea/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..33c5c27ba70967e7a8155a9f76eddf28974ad9ef GIT binary patch literal 6148 zcmeH~O-chn5QVEWNWe`NE(AAyh1_5W;|X#BVMcV}Fat6B+2?YeC#$^rQ5-Y43?i?f z`*l}!b*4W^|A>fg_U&3^B_c}{Q?h^*Nqp_x7^hHhnkDO!OCB_U$*a zlSX&KjU3r*X{nj5&3vH-uaRy`CZ@s8XsQ2^D*u;5+DH*AORA%C;^<=X3N`9 z)+9gzB=AMR_J@LETBVMmzICATCjiv0(Qat_ofcZm0j*NUPnW--5~LwON!AgoB> G0t8N8+$m@P literal 0 HcmV?d00001 diff --git a/bayes_opt/.idea/.name b/bayes_opt/.idea/.name new file mode 100644 index 000000000..de24508a8 --- /dev/null +++ b/bayes_opt/.idea/.name @@ -0,0 +1 @@ +bayes_opt \ No newline at end of file diff --git a/bayes_opt/.idea/bayes_opt.iml b/bayes_opt/.idea/bayes_opt.iml new file mode 100644 index 000000000..a34a85703 --- /dev/null +++ b/bayes_opt/.idea/bayes_opt.iml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/bayes_opt/.idea/encodings.xml b/bayes_opt/.idea/encodings.xml new file mode 100644 index 000000000..e206d70d8 --- /dev/null +++ b/bayes_opt/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/bayes_opt/.idea/misc.xml b/bayes_opt/.idea/misc.xml new file mode 100644 index 000000000..17fa02407 --- /dev/null +++ b/bayes_opt/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/bayes_opt/.idea/modules.xml b/bayes_opt/.idea/modules.xml new file mode 100644 index 000000000..f2c920139 --- /dev/null +++ b/bayes_opt/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/bayes_opt/.idea/scopes/scope_settings.xml b/bayes_opt/.idea/scopes/scope_settings.xml new file mode 100644 index 000000000..922003b84 --- /dev/null +++ b/bayes_opt/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/bayes_opt/.idea/vcs.xml b/bayes_opt/.idea/vcs.xml new file mode 100644 index 000000000..c80f2198b --- /dev/null +++ b/bayes_opt/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/bayes_opt/.idea/workspace.xml b/bayes_opt/.idea/workspace.xml new file mode 100644 index 000000000..afad98daa --- /dev/null +++ b/bayes_opt/.idea/workspace.xml @@ -0,0 +1,399 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1408649610930 + 1408649610930 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bayes_opt/bo/GP.py b/bayes_opt/GP.py similarity index 98% rename from bayes_opt/bo/GP.py rename to bayes_opt/GP.py index d7e6ad0e1..e674b5cd1 100644 --- a/bayes_opt/bo/GP.py +++ b/bayes_opt/GP.py @@ -11,7 +11,7 @@ Fernando Nogueira ''' -# Python 2.7 users. + from __future__ import print_function from __future__ import division @@ -22,10 +22,7 @@ from scipy.optimize import minimize from math import exp, fabs, sqrt, log, pi -from ..support.objects import covariance, sample_covariance, kernels, acquisition, print_info -#from help_functions import covariance, sample_covariance, kernels, acquisition, print_info - - +from support.objects import covariance, sample_covariance, kernels, acquisition, print_info diff --git a/bayes_opt/GP.pyc b/bayes_opt/GP.pyc new file mode 100644 index 0000000000000000000000000000000000000000..58dab8ab3547ee2b4e5a9760d46d5f2f495389ab GIT binary patch literal 9934 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 literal 0 HcmV?d00001 diff --git a/bayes_opt/README b/bayes_opt/README new file mode 100644 index 000000000..504cf1de3 --- /dev/null +++ b/bayes_opt/README @@ -0,0 +1,18 @@ +Working Python implementation of global optimization with gaussian processes. + +—Under (constant) development! (See the wiki for more information.) + +This is a constrained global optimization package built upon bayesian inference and gaussian process, that attempts to find the maximum value of an unknown function in as few iterations as possible. This technique is particularly suited for optimization of high cost functions, situations where the balance between exploration and exploitation is important. + +This package was motivated by hyper-parameter optimization of machine leaning algorithms when performing cross validation. Some of the design choices were clearly made with this setting in mind and ultimately a out-of-the-box cross validation optimization object will be implemented (soon). + +Disclaimer: This project is under active development, some of its functionalities and sintaxes are bound to change, sometimes dramatically. If you find a bug, or anything that needs correction, please let me know. + +Basic dependencies are Scipy, Numpy. Examples dependencies also include matplotlib and sklearn. + +References for this implementation can be found in: + +http://papers.nips.cc/paper/4522-practical-bayesian-optimization-of-machine-learning-algorithms.pdf +http://arxiv.org/pdf/1012.2599v1.pdf +http://www.gaussianprocess.org/gpml/ +https://www.youtube.com/watch?v=vz3D36VXefI&index=10&list=PLE6Wd9FR--EdyJ5lbFl8UuGjecvVw66F6 diff --git a/bayes_opt/__init__.py b/bayes_opt/__init__.py index 261acec26..84345577c 100644 --- a/bayes_opt/__init__.py +++ b/bayes_opt/__init__.py @@ -1,4 +1 @@ -from .bo import bayes_opt -from .bo import GP -#from .cv import magic_box -from .cv.magic_box import magic_box_classifier +import bayes_opt \ No newline at end of file diff --git a/bayes_opt/__init__.pyc b/bayes_opt/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..334b6e97c57483640c6064071d307072a19801de GIT binary patch literal 304 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 RBdK-Hnz!fe8p^fl{|0V*{`~*| literal 0 HcmV?d00001 diff --git a/bayes_opt/bo/__init__.py b/bayes_opt/bo/__init__.py deleted file mode 100644 index c08d36ac9..000000000 --- a/bayes_opt/bo/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .bayes_opt import bayes_opt -from .GP import GP diff --git a/bayes_opt/cv/__init__.py b/bayes_opt/cv/__init__.py deleted file mode 100644 index fbb77a113..000000000 --- a/bayes_opt/cv/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .magic_box import magic_box_classifier diff --git a/bayes_opt/cv/magic_box.py b/bayes_opt/cv/magic_box.py deleted file mode 100644 index ce5735dfd..000000000 --- a/bayes_opt/cv/magic_box.py +++ /dev/null @@ -1,323 +0,0 @@ -''' -Black-box, self optimizing, classification and regression tool. - -Still under construction! -''' - - - -import numpy -from ..bo.bayes_opt import bayes_opt - -from sklearn import metrics -from sklearn.cross_validation import cross_val_score - -from sklearn.linear_model import LogisticRegression -from sklearn.svm import SVC -from sklearn.ensemble import RandomForestClassifier -from sklearn.ensemble import GradientBoostingClassifier - - -classification_scores = {'accuracy' : metrics.accuracy_score,\ - 'average_precision' : metrics.average_precision_score,\ - 'f1' : metrics.f1_score,\ - 'precision' : metrics.precision_score,\ - 'recall' : metrics.recall_score,\ - 'roc_auc' : metrics.roc_auc_score,} - - - -class magic_box_classifier: - - - # --------------------------------------------- // --------------------------------------------- # - # --------------------------------------------- // --------------------------------------------- # - def __init__(self, score_metric, n_folds = 10, n_jobs = 1, iterations = 50): - - self.sm = score_metric - self.folds = n_folds - self.njobs = n_jobs - self.it = iterations - - self.logit_argmax = {'C' : 1, 'intercept_scaling' : 1} - self.svm_argmax = {'C' : 1, 'gamma' : 0.0} - self.randf_argmax = {'n_estimators' : 10, 'min_samples_split' : 2, 'min_samples_leaf' : 1,\ - 'max_depth' : 3, 'max_features' : 'sqrt'} - self.gbt_argmax = {'n_estimators' : 10, 'min_samples_split' : 2, 'min_samples_leaf' : 1,\ - 'max_depth' : 3, 'max_features' : 'sqrt'} - - self.coefs = {'c_logit' : 0.25, 'c_svm' : 0.25, 'c_randf' : 0.25, 'c_gbt' : 0.25} - - self.logit_model = 0 - self.svm_model = 0 - self.randf_model = 0 - self.gbt_model = 0 - - - # --------------------------------------------- // --------------------------------------------- # - def get_parameters(self): - - models = ['logit', 'svm', 'rf', 'gbt'] - paras = [self.logit_argmax, self.svm_argmax, self.randf_argmax, self.gbt_argmax] - - return dict(zip(models, paras)) - - def get_coefficients(self): - - return self.coefs - - # --------------------------------------------- // --------------------------------------------- # - def logit_cv(self, C, intercept_scaling): - return numpy.mean(cross_val_score(estimator = LogisticRegression(C = C, intercept_scaling = intercept_scaling),\ - X = self.x, y = self.y, scoring = self.sm, cv = self.folds, n_jobs = self.njobs)) - - def svm_cv(self, C, gamma): - return numpy.mean(cross_val_score(estimator = SVC(C = C, gamma = gamma, probability = True, random_state = 0),\ - X = self.x, y = self.y, scoring = self.sm, cv = self.folds, n_jobs = self.njobs)) - - def randf_cv(self, n_estimators, min_samples_split, min_samples_leaf, max_depth, max_features): - - estima = RandomForestClassifier(n_estimators = int(n_estimators),\ - min_samples_split = int(min_samples_split),\ - min_samples_leaf = int(min_samples_leaf),\ - max_depth= int(max_depth),\ - max_features = max_features,\ - random_state = 1) - - return numpy.mean(cross_val_score(estimator = estima,\ - X = self.x,\ - y = self.y,\ - scoring = self.sm,\ - cv = self.folds,\ - n_jobs = self.njobs)) - - - def gbt_cv(self, n_estimators, min_samples_split, min_samples_leaf, max_depth, max_features): - - estima = GradientBoostingClassifier(n_estimators = int(n_estimators),\ - min_samples_split = int(min_samples_split),\ - min_samples_leaf = int(min_samples_leaf),\ - max_depth= int(max_depth),\ - max_features = max_features,\ - random_state = 2) - - return numpy.mean(cross_val_score(estimator = estima,\ - X = self.x,\ - y = self.y,\ - scoring = self.sm,\ - cv = self.folds,\ - n_jobs = self.njobs)) - - # --------------------------------------------- // --------------------------------------------- # - def ensemble(self, c1, c2, c3, c4, pred1, pred2, pred3, pred4, y, scoring): - psum = c1 + c2 + c3 + c4 - return scoring(y, (c1/psum)*pred1 + (c2/psum)*pred2 + (c3/psum)*pred3 + (c4/psum)*pred4) - - # --------------------------------------------- // --------------------------------------------- # - def skf_proba(self, clf_logit, clf_svm, clf_randf, clf_gbt): - - from sklearn.cross_validation import StratifiedKFold - skfold = StratifiedKFold(self.y, n_folds = self.folds) - - prediction = numpy.zeros((len(self.y), 4)) - - for itr, ite in skfold: - xtrain, xtest = self.x[itr], self.x[ite] - ytrain, ytest = self.y[itr], self.y[ite] - - clf_logit.fit(xtrain, ytrain) - clf_svm.fit(xtrain, ytrain) - clf_randf.fit(xtrain, ytrain) - clf_gbt.fit(xtrain, ytrain) - - prediction[ite, 0] = clf_logit.predict_proba(xtest)[:, 1] - prediction[ite, 1] = clf_svm.predict_proba(xtest)[:, 1] - prediction[ite, 2] = clf_randf.predict_proba(xtest)[:, 1] - prediction[ite, 3] = clf_gbt.predict_proba(xtest)[:, 1] - - - return prediction - - - def skf(self, clf_logit, clf_svm, clf_randf, clf_gbt): - - from sklearn.cross_validation import StratifiedKFold - skfold = StratifiedKFold(self.y, n_folds = self.folds) - - prediction = numpy.zeros((len(self.y), 4)) - - for itr, ite in skfold: - xtrain, xtest = self.x[itr], self.x[ite] - ytrain, ytest = self.y[itr], self.y[ite] - - clf_logit.fit(xtrain, ytrain) - clf_svm.fit(xtrain, ytrain) - clf_randf.fit(xtrain, ytrain) - clf_gbt.fit(xtrain, ytrain) - - prediction[ite, 0] = clf_logit.predict(xtest) - prediction[ite, 1] = clf_svm.predict(xtest) - prediction[ite, 2] = clf_randf.predict(xtest) - prediction[ite, 3] = clf_gbt.predict(xtest) - - return prediction - - # --------------------------------------------- // --------------------------------------------- # - def model_opt(self, model, params, name, log_max = False): - - print('Optimizing %s' % name) - - bo = bayes_opt(model, params) - if log_max: - max_val, argmax = bo.log_maximize(restarts = 100, init_points = 10, verbose = 1, num_it = self.it) - else: - max_val, argmax = bo.maximize(restarts = 100, init_points = 10, verbose = 1, num_it = self.it) - - print('Best score found with %s: %f' % (name, max_val)) - - #Return intergers for trees - if 'n_estimators' in params.keys(): - argmax['n_estimators'] = int(argmax['n_estimators']) - argmax['min_samples_split'] = int(argmax['min_samples_split']) - argmax['min_samples_leaf'] = int(argmax['min_samples_leaf']) - argmax['max_depth'] = int(argmax['max_depth']) - - return argmax - - # --------------------------------------------- // --------------------------------------------- # - def best_args(self, x, y): - - self.x = x - self.y = y - - logit_params = {'C' : (0.0001, 100), 'intercept_scaling' : (0.0001, 10)} - svm_params = {'C' : (0.0001, 100), 'gamma' : (0.00001, 10)} - randf_params = {'n_estimators' : (10, 1000),\ - 'min_samples_split' : (2, 200),\ - 'min_samples_leaf' : (1, 100),\ - 'max_depth' : (1, 20),\ - 'max_features' : (0.1, 0.999)} - gbt_params = {'n_estimators' : (10, 1000),\ - 'min_samples_split' : (2, 200),\ - 'min_samples_leaf' : (1, 100),\ - 'max_depth' : (1, 20),\ - 'max_features' : (0.1, 0.999)} - - self.logit_argmax = self.model_opt(self.logit_cv, logit_params, 'Logistic Regression', log_max = True) - self.svm_argmax = self.model_opt(self.svm_cv, svm_params, 'SVM', log_max = True) - self.randf_argmax = self.model_opt(self.randf_cv, randf_params, 'Random Forest') - self.gbt_argmax = self.model_opt(self.gbt_cv, gbt_params, 'Gradient Boosted Trees') - - - # --------------------------------------------- // --------------------------------------------- # - def make_ensemble(self): - - print('Ensemble time') - self.logit_model = LogisticRegression(**self.logit_argmax) - self.svm_model = SVC(**self.svm_argmax) - self.randf_model = RandomForestClassifier(**self.randf_argmax) - self.gbt_model = GradientBoostingClassifier(**self.gbt_argmax) - - self.svm_model.set_params(random_state = 0) - self.randf_model.set_params(random_state = 1) - self.gbt_model.set_params(random_state = 2) - - coefs_range = {'c_logit' : (1e-15, 1), 'c_svm' : (1e-15, 1), 'c_randf' : (1e-15, 1), 'c_gbt' : (1e-15, 1)} - - if self.sm == 'roc_auc': - self.svm_model.set_params(probability = True) - - pred = self.skf_proba(self.logit_model, self.svm_model, self.randf_model, self.gbt_model) - bo_ense = bayes_opt(lambda c_logit, c_svm, c_randf, c_gbt: self.ensemble(\ - c1 = c_logit,\ - c2 = c_svm,\ - c3 = c_randf,\ - c4 = c_gbt,\ - pred1 = pred[:, 0],\ - pred2 = pred[:, 1],\ - pred3 = pred[:, 2],\ - pred4 = pred[:, 3],\ - y = self.y,\ - scoring = classification_scores[self.sm]), coefs_range) - - best_ensemble, self.coefs = bo_ense.maximize(restarts = 100, init_points = 10, verbose = 1, num_it = 50) - - else: - pred = self.skf(self.logit_model, self.svm_model, self.randf_model, self.gbt_model) - bo_ense = bayes_opt(lambda c_logit, c_svm, c_randf, c_gbt: self.ensemble(\ - c1 = c_logit,\ - c2 = c_svm,\ - c3 = c_randf,\ - c4 = c_gbt,\ - pred1 = pred[:, 0],\ - pred2 = pred[:, 1],\ - pred3 = pred[:, 2],\ - pred4 = pred[:, 3],\ - y = self.y,\ - scoring = classification_scores[self.sm]), coefs_range) - - best_ensemble, self.coefs = bo_ense.maximize(restarts = 100, init_points = 10, verbose = 1, num_it = 50) - - print('Best ensemble score: %f' % best_ensemble) - - -# --------------------------------------------- // --------------------------------------------- # -# --------------------------------------------- // --------------------------------------------- # - def fit(self, x, y): - '''Try some basic ones and return best + score - like NB, LR, RF, that kind of stuff''' - - - self.best_args(x, y) - - self.make_ensemble() - - - print('Fitting the models at last.') - - self.logit_model.fit(self.x, self.y) - self.svm_model.fit(self.x, self.y) - self.randf_model.fit(self.x, self.y) - self.gbt_model.fit(self.x, self.y) - - print('Done, best single model and parameters...') - - -# --------------------------------------------- // --------------------------------------------- # -# --------------------------------------------- // --------------------------------------------- # - def predict_proba(self, x): - print('starting prob prediction') - - logit_pred = self.logit_model.predict_proba(x) - svm_pred = self.svm_model.predict_proba(x) - randf_pred = self.randf_model.predict_proba(x) - gbt_pred = self.gbt_model.predict_proba(x) - - - wsum = self.coefs['c_logit'] + self.coefs['c_svm'] + self.coefs['c_randf'] + self.coefs['c_gbt'] - - ense = (self.coefs['c_logit']/wsum) * logit_pred +\ - (self.coefs['c_svm']/wsum) * svm_pred +\ - (self.coefs['c_randf']/wsum) * randf_pred +\ - (self.coefs['c_gbt']/wsum) * gbt_pred - - return ense - -''' - def predict(self, x): - print('starting prediction') - - logit_pred = self.logit_model.predict(x) - svm_pred = self.svm_model.predict(x) - randf_pred = self.randf_model.predict(x) - - - wsum = self.coefs['c_logit'] + self.coefs['c_svm'] + self.coefs['c_randf'] - - ense = (self.coefs['c_logit']/wsum) * logit_pred +\ - (self.coefs['c_svm']/wsum) * svm_pred +\ - (self.coefs['c_randf']/wsum) * randf_pred - - return ense -''' - - diff --git a/bayes_opt/examples/sklearn_example.py b/bayes_opt/examples/sklearn_example.py new file mode 100644 index 000000000..c6c830125 --- /dev/null +++ b/bayes_opt/examples/sklearn_example.py @@ -0,0 +1,97 @@ +# Python 2.7 users. +from __future__ import print_function +from __future__ import division + +#Testing on the Iris data set +from sklearn.datasets import load_iris +from sklearn.cross_validation import KFold + +#Classifiers to compare +from sklearn.linear_model import LogisticRegression +from sklearn.ensemble import RandomForestClassifier +from sklearn.svm import SVC +#Score metric +from sklearn.metrics import precision_score +#Bayes optimization +from bayes_opt.bo.bayes_opt import bayes_opt + + +# Load data set and target values +data = load_iris()['data'] +target = load_iris()['target'] + +# LogisticRegression CV +def LR_CV(c, ints, kf): + + clf = LogisticRegression(C = c, intercept_scaling = ints, random_state = 2) + res = 0 + + for itr, ite in kf: + xtrain, xtest = data[itr], data[ite] + ytrain, ytest = target[itr], target[ite] + + clf.fit(xtrain, ytrain) + pred = clf.predict(xtest) + + res += precision_score(ytest, pred) + + return res/5 + +# SVM CV +def SVR_CV(c, g, e): + + clf = SVC(C = c, gamma = g, tol = e, random_state = 2) + res = 0 + + for itr, ite in kf: + xtrain, xtest = data[itr], data[ite] + ytrain, ytest = target[itr], target[ite] + + clf.fit(xtrain, ytrain) + pred = clf.predict(xtest) + + res += precision_score(ytest, pred) + + return res/5 + +#Random Forest CV +def RF_CV(trees, split, leaf): + + clf = RandomForestClassifier(\ + n_estimators = int(trees),\ + min_samples_split = int(split),\ + min_samples_leaf = int(leaf),\ + max_features = None,\ + random_state = 3,\ + n_jobs = -1) + + res = 0 + + for itr, ite in kf: + xtrain, xtest = data[itr], data[ite] + ytrain, ytest = target[itr], target[ite] + + clf.fit(xtrain, ytrain) + pred = clf.predict(xtest) + + res += precision_score(ytest, pred) + + return res/5 + + +if __name__ == "__main__": + + kf = KFold(len(target), n_folds = 5, shuffle = True, random_state = 1) + + # Search for a good set of parameters for logistic regression + bo_LR = bayes_opt(lambda c, ints: LR_CV(c, ints, kf), {'c' : (0.001, 100), 'ints' : (0.001, 100)}) + ylr, xlr = bo_LR.log_maximize(num_it = 25) + + # Search for a good set of parameters for support vector machine + bo_SVR = bayes_opt(SVR_CV, {'c' : (0.001, 100), 'g' : (0.0001, 1), 'e' : (0.001, 10)}) + bo_SVR.initialize({'c' : 0.1, 'g' : .01, 'e' : 0.005}) + ysvr, xsvr = bo_SVR.log_maximize(init_points = 5, restarts = 15, num_it = 25) + + # Search for a good set of parameters for random forest. + bo_RF = bayes_opt(RF_CV, {'trees' : (10, 200), 'split' : (2, 20), 'leaf' : (1, 10)}) + yrf, xrf = bo_RF.maximize(init_points = 5, restarts = 15, num_it = 25) diff --git a/bayes_opt/examples/visualization.py b/bayes_opt/examples/visualization.py new file mode 100644 index 000000000..11ec1e859 --- /dev/null +++ b/bayes_opt/examples/visualization.py @@ -0,0 +1,235 @@ +# Python 2.7 users. +from __future__ import print_function +from __future__ import division + +import numpy +import matplotlib.pyplot as plt +from math import log, fabs, sqrt, exp + +from bayes_opt.bo.bayes_opt import bayes_opt +from bayes_opt.bo.GP import GP +from bayes_opt.support.objects import acquisition + +# ------------------------------ // ------------------------------ // ------------------------------ # +# ------------------------------ // ------------------------------ // ------------------------------ # +def my_function1(x): + return 2.5*exp(-(x - 2)**2) + 5*exp(-(x - 5)**2)+\ + 3*exp(-(x/2 - 4)**2)+ 8*exp(-2*(x - 11)**2) + +def my_function2(x): + return exp(-(x - 2)**2) + 5*exp(-(x - 5)**2) +\ + 3*exp(-(x/2 - 4)**2) + \ + 8*exp(-10*(x - 0.1)**2) - exp(-2*(x - 9)**2) + +# ------------------------------ // ------------------------------ // ------------------------------ # +# ------------------------------ // ------------------------------ // ------------------------------ # +def show_functions(grid, log_grid): + data1 = numpy.asarray([my_function1(x) for x in grid]) + data2 = numpy.asarray([my_function2(x) for x in numpy.arange(0.01,13,0.01)]) + + ax1 = plt.subplot(1, 1, 1) + ax1.grid(True, color='k', linestyle='--', linewidth=1, alpha = 0.5) + p1, = ax1.plot(grid, data1) + plt.show() + + ax2 = plt.subplot(2, 1, 1) + ax2.grid(True, color='k', linestyle='--', linewidth=1, alpha = 0.5) + p2, = ax2.plot(grid, data2) + + ax3 = plt.subplot(2, 1, 2) + ax3.grid(True, color='k', linestyle='--', linewidth=1, alpha = 0.5) + p3, = ax3.plot(log_grid, data2) + + plt.show() + +# ------------------------------ // ------------------------------ // ------------------------------ # +def gp1(grid): + x = numpy.asarray([3,6,8,10]).reshape((4, 1)) + y = numpy.asarray([my_function1(x[0]) for x in x]) + + gp = GP(kernel = 'squared_exp', theta = 1, l = 1) + gp.fit(x, y) + + mean, var = gp.fast_predict(grid.reshape((len(grid), 1))) + + # ------------------------------ // ------------------------------ # + ax1 = plt.subplot(2, 1, 1) + ax1.grid(True, color='k', linestyle='--', linewidth= 0.8, alpha = 0.4) + + + p1, = ax1.plot(x, y, 'b-', marker='o', color = 'k') + p2, = ax1.plot(grid, [(mean[i] + 2*sqrt(fabs(var[i]))) for i in range(len(mean))]) + p3, = ax1.plot(grid, [(mean[i] - 2*sqrt(fabs(var[i]))) for i in range(len(mean))]) + p4, = ax1.plot(grid, numpy.asarray([my_function1(x) for x in grid]), 'm--') + p5, = ax1.plot(grid, [mean[i] for i in range(len(mean))], 'y') + + p1.set_linestyle(' ') + ax1.legend([p1, p2, p3, p4, p5],\ + ['Data','Upper 95% bound','Lower 95% bound', 'True function', 'Predicted mean'], loc = 2) + + # ------------------------------ // ------------------------------ # + x = numpy.arange(0, 14, 1).reshape((14, 1)) + y = numpy.asarray([my_function1(x[0]) for x in x]) + + gp = GP(kernel = 'squared_exp', theta = 0.5, l = .9) + gp.fit(x, y) + + mean, var = gp.fast_predict(grid.reshape((len(grid), 1))) + + # ------------------------------ // ------------------------------ # + ax2 = plt.subplot(2, 1, 2) + ax2.grid(True, color='k', linestyle='--', linewidth=.8, alpha = 0.4) + + p12, = ax2.plot(x, y, 'b-', marker='o', color = 'k') + p22, = ax2.plot(grid, [(mean[i] + 2*sqrt(fabs(var[i]))) for i in range(len(mean))]) + p32, = ax2.plot(grid, [(mean[i] - 2*sqrt(fabs(var[i]))) for i in range(len(mean))]) + p42, = ax2.plot(grid, numpy.asarray([my_function1(x) for x in grid]), 'm--') + p52, = ax2.plot(grid, [mean[i] for i in range(len(mean))], 'y') + + p12.set_linestyle(' ') + ax2.legend([p12, p22, p32, p42, p52],\ + ['Data','Upper 95% bound','Lower 95% bound', 'True function', 'Predicted mean'], loc = 2) + + plt.show() + + +# ------------------------------ // ------------------------------ // ------------------------------ # +def find_max(grid): + + + bo = bayes_opt(my_function1, {'x' : (0, 13)}) + ymax, xmax, y, x = bo.maximize(init_points = 5, full_out = True) + + ax = plt.subplot(1,1,1) + ax.grid(True, color='k', linestyle='--', linewidth=.8, alpha = 0.4) + + p1, = ax.plot(x, y, 'b-', marker='o', color = 'k') + p1.set_linestyle(' ') + p2, = ax.plot(grid, numpy.asarray([my_function1(x) for x in grid]), 'm-') + + ax.legend([p1, p2],\ + ['Sampled points','Target function'], loc = 2) + + plt.show() + + return x + +# ------------------------------ // ------------------------------ // ------------------------------ # +def gp2(grid, sampled_x): + x = sampled_x + y = numpy.asarray([my_function1(x) for x in x]) + + gp = GP(kernel = 'squared_exp') + gp.best_fit(x, y) + + mean, var = gp.fast_predict(grid.reshape((len(grid), 1))) + ymax = y.max() + + ac = acquisition() + ucb = ac.full_UCB(mean, var) + ei = ac.full_EI(ymax, mean, var) + poi = ac.full_PoI(ymax, mean, var) + + # ------------------------------ // ------------------------------ # + ax1 = plt.subplot(2, 1, 1) + ax1.grid(True, color='k', linestyle='--', linewidth= 0.8, alpha = 0.4) + + p1, = ax1.plot(x, y, 'b-', marker='o', color = 'k') + p2, = ax1.plot(grid, [(mean[i] + 2*sqrt(fabs(var[i]))) for i in range(len(mean))]) + p3, = ax1.plot(grid, [(mean[i] - 2*sqrt(fabs(var[i]))) for i in range(len(mean))]) + p4, = ax1.plot(grid, numpy.asarray([my_function1(x) for x in grid]), 'm--') + p5, = ax1.plot(grid, [mean[i] for i in range(len(mean))], 'y') + + p1.set_linestyle(' ') + ax1.legend([p1, p2, p3, p4, p5],\ + ['Data','Upper 95% bound','Lower 95% bound', 'True function', 'Predicted mean'], loc = 3) + + + ax2 = plt.subplot(2,1,2) + ax2.grid(True, color='k', linestyle='--', linewidth= 0.8, alpha = 0.4) + p21, = ax2.plot(grid, ucb/ucb.max(), 'r') + p22, = ax2.plot(grid, ei/(ei.max() + 1e-6), 'orange') + p23, = ax2.plot(grid, poi, 'green') + ax2.legend([p21, p22, p23], ['Upper Confidence Bound', 'Expected Improvement', 'Probability of Improvement'], loc = 3) + + plt.show() + + +# ------------------------------ // ------------------------------ // ------------------------------ # +def find_max_log(grid, log_grid): + + bo = bayes_opt(my_function2, {'x' : (0.01, 13)}) + ymax, xmax, y, x = bo.log_maximize(init_points = 5, full_out = True) + + ax = plt.subplot(1,1,1) + ax.grid(True, color='k', linestyle='--', linewidth=.8, alpha = 0.4) + + p1, = ax.plot(numpy.log10(x/0.01) / log(13/0.01, 10), y, 'b-', marker='o', color = 'k') + p1.set_linestyle(' ') + p2, = ax.plot(log_grid, numpy.asarray([my_function2(x) for x in grid]), 'm-') + + ax.legend([p1, p2],\ + ['Sampled points','Target function'], loc = 2) + + plt.show() + + return x + +# ------------------------------ // ------------------------------ // ------------------------------ # +def gp3_log(grid, log_grid, sampled_x): + '''This is broken, something wrong with the GP and plots, fix it!''' + x = sampled_x + y = numpy.asarray([my_function2(x) for x in x])#numpy.asarray([my_function2(0.01 * (10 ** (x * log(13/0.01, 10)))) for x in x]) + + gp = GP(kernel = 'squared_exp') + gp.best_fit(x, y) + + mean, var = gp.fast_predict(grid.reshape((len(log_grid), 1))) + ymax = y.max() + + ac = acquisition() + ucb = ac.full_UCB(mean, var) + ei = ac.full_EI(ymax, mean, var) + poi = ac.full_PoI(ymax, mean, var) + + # ------------------------------ // ------------------------------ # + ax1 = plt.subplot(2, 1, 1) + ax1.grid(True, color='k', linestyle='--', linewidth= 0.8, alpha = 0.4) + + p1, = ax1.plot(numpy.log10(x/0.01) / log(13/0.01, 10), y, 'b-', marker='o', color = 'k') + p2, = ax1.plot(log_grid, [(mean[i] + 2*sqrt(fabs(var[i]))) for i in range(len(mean))]) + p3, = ax1.plot(log_grid, [(mean[i] - 2*sqrt(fabs(var[i]))) for i in range(len(mean))]) + p4, = ax1.plot(log_grid, numpy.asarray([my_function2(x) for x in grid]), 'm--') + p5, = ax1.plot(log_grid, [mean[i] for i in range(len(mean))], 'y') + + p1.set_linestyle(' ') + ax1.legend([p1, p2, p3, p4, p5],\ + ['Data','Upper 95% bound','Lower 95% bound', 'True function', 'Predicted mean'], loc = 3) + + + ax2 = plt.subplot(2,1,2) + ax2.grid(True, color='k', linestyle='--', linewidth= 0.8, alpha = 0.4) + p21, = ax2.plot(log_grid, ucb/ucb.max(), 'r') + p22, = ax2.plot(log_grid, ei/(ei.max() + 1e-6), 'orange') + p23, = ax2.plot(log_grid, poi, 'green') + ax2.legend([p21, p22, p23], ['Upper Confidence Bound', 'Expected Improvement', 'Probability of Improvement'], loc = 3) + + plt.show() + + +# ------------------------------ // ------------------------------ // ------------------------------ # +# ------------------------------ // ------------------------------ // ------------------------------ # +if __name__ == "__main__": + + grid = numpy.arange(0.01,13,0.01) + log_grid = numpy.log10(numpy.arange(0.01,13,0.01)/0.01)/log(13/0.01, 10) + + # ------------------------------ // ------------------------------ # + show_functions(grid, log_grid) + gp1(grid) + + sampled_x = find_max(grid) + gp2(grid, sampled_x) + + sampled_x_log = find_max_log(grid, log_grid) + gp3_log(grid, log_grid, sampled_x_log) diff --git a/bayes_opt/support/__init__.pyc b/bayes_opt/support/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a299e59fa2c432ca4ca941e8028057d2946f1329 GIT binary patch literal 155 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 Date: Sat, 27 Sep 2014 10:45:01 -0400 Subject: [PATCH 02/12] Clears the PyChamrs files I forgot --- bayes_opt/GP.pyc | Bin 9934 -> 0 bytes bayes_opt/__init__.pyc | Bin 304 -> 0 bytes bayes_opt/bayes_opt.pyc | Bin 18556 -> 0 bytes bayes_opt/support/__init__.pyc | Bin 155 -> 0 bytes bayes_opt/support/objects.pyc | Bin 8196 -> 0 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bayes_opt/GP.pyc delete mode 100644 bayes_opt/__init__.pyc delete mode 100644 bayes_opt/bayes_opt.pyc delete mode 100644 bayes_opt/support/__init__.pyc delete mode 100644 bayes_opt/support/objects.pyc diff --git a/bayes_opt/GP.pyc b/bayes_opt/GP.pyc deleted file mode 100644 index 58dab8ab3547ee2b4e5a9760d46d5f2f495389ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9934 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 diff --git a/bayes_opt/__init__.pyc b/bayes_opt/__init__.pyc deleted file mode 100644 index 334b6e97c57483640c6064071d307072a19801de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 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 RBdK-Hnz!fe8p^fl{|0V*{`~*| diff --git a/bayes_opt/support/__init__.pyc b/bayes_opt/support/__init__.pyc deleted file mode 100644 index a299e59fa2c432ca4ca941e8028057d2946f1329..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 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 Date: Sat, 27 Sep 2014 10:48:09 -0400 Subject: [PATCH 03/12] Delete .DS_Store --- bayes_opt/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bayes_opt/.DS_Store diff --git a/bayes_opt/.DS_Store b/bayes_opt/.DS_Store deleted file mode 100644 index 6d6dae9fa76112fd64313717c94c936fe4deea6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKy-ve05dK_(i0IM@Dz!pcSS$4nOckD>BMVi7+DeTQ(N<#2#0&6BJOC@a0t`H0v!M`HOAkV>ug+r$t`Y zJY_%_5C(oD1Lnua05dGG4*p+t^-2XtJ6m3)X|`EUfw$iF+APJhWjkB@?l!cQb8k;* zX*QnHoC{=lz$D0s)k|pga`wA(4)tU6VxP5t`F>~(^5TolF=c$h1UX79slN)d51xWBfQr&_I-(`Hv$eK3K5G+d_taR}ud--DNV((KboeOlQZqufggb=VVP%m< PNaP}5Xb>d~{3rw8eJgqn From 4bcac0849ee2b20f026ea403c95031d0d7f4d460 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Sep 2014 10:54:20 -0400 Subject: [PATCH 04/12] Delete .DS_Store --- bayes_opt/.idea/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bayes_opt/.idea/.DS_Store diff --git a/bayes_opt/.idea/.DS_Store b/bayes_opt/.idea/.DS_Store deleted file mode 100644 index 33c5c27ba70967e7a8155a9f76eddf28974ad9ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~O-chn5QVEWNWe`NE(AAyh1_5W;|X#BVMcV}Fat6B+2?YeC#$^rQ5-Y43?i?f z`*l}!b*4W^|A>fg_U&3^B_c}{Q?h^*Nqp_x7^hHhnkDO!OCB_U$*a zlSX&KjU3r*X{nj5&3vH-uaRy`CZ@s8XsQ2^D*u;5+DH*AORA%C;^<=X3N`9 z)+9gzB=AMR_J@LETBVMmzICATCjiv0(Qat_ofcZm0j*NUPnW--5~LwON!AgoB> G0t8N8+$m@P From f6d8ae7901122acb822b1c9163e8101da6e0e449 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Sep 2014 10:54:42 -0400 Subject: [PATCH 05/12] Delete scope_settings.xml --- bayes_opt/.idea/scopes/scope_settings.xml | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 bayes_opt/.idea/scopes/scope_settings.xml diff --git a/bayes_opt/.idea/scopes/scope_settings.xml b/bayes_opt/.idea/scopes/scope_settings.xml deleted file mode 100644 index 922003b84..000000000 --- a/bayes_opt/.idea/scopes/scope_settings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file From f7024b21400e19401de00b4d87523c18cbceb2a3 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Sep 2014 10:54:48 -0400 Subject: [PATCH 06/12] Delete .name --- bayes_opt/.idea/.name | 1 - 1 file changed, 1 deletion(-) delete mode 100644 bayes_opt/.idea/.name diff --git a/bayes_opt/.idea/.name b/bayes_opt/.idea/.name deleted file mode 100644 index de24508a8..000000000 --- a/bayes_opt/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -bayes_opt \ No newline at end of file From 096f57ad9b55c0f695a0f2781aa33e1c90e7f3b7 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Sep 2014 10:54:54 -0400 Subject: [PATCH 07/12] Delete bayes_opt.iml --- bayes_opt/.idea/bayes_opt.iml | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 bayes_opt/.idea/bayes_opt.iml diff --git a/bayes_opt/.idea/bayes_opt.iml b/bayes_opt/.idea/bayes_opt.iml deleted file mode 100644 index a34a85703..000000000 --- a/bayes_opt/.idea/bayes_opt.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - From f321e2d17f24c4d3e1d8493300aedef071f8ea49 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Sep 2014 10:54:59 -0400 Subject: [PATCH 08/12] Delete encodings.xml --- bayes_opt/.idea/encodings.xml | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 bayes_opt/.idea/encodings.xml diff --git a/bayes_opt/.idea/encodings.xml b/bayes_opt/.idea/encodings.xml deleted file mode 100644 index e206d70d8..000000000 --- a/bayes_opt/.idea/encodings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - From c294e66b99e1e51f77b50c38fbf93c3969d29dc7 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Sep 2014 10:55:03 -0400 Subject: [PATCH 09/12] Delete misc.xml --- bayes_opt/.idea/misc.xml | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 bayes_opt/.idea/misc.xml diff --git a/bayes_opt/.idea/misc.xml b/bayes_opt/.idea/misc.xml deleted file mode 100644 index 17fa02407..000000000 --- a/bayes_opt/.idea/misc.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - From 7a5584bad969c979e0313d295d1727d96d46558b Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Sep 2014 10:55:09 -0400 Subject: [PATCH 10/12] Delete modules.xml --- bayes_opt/.idea/modules.xml | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 bayes_opt/.idea/modules.xml diff --git a/bayes_opt/.idea/modules.xml b/bayes_opt/.idea/modules.xml deleted file mode 100644 index f2c920139..000000000 --- a/bayes_opt/.idea/modules.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - From 7c8af6cc0d2848c283c83623b82f2cdca8831332 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Sep 2014 10:55:13 -0400 Subject: [PATCH 11/12] Delete vcs.xml --- bayes_opt/.idea/vcs.xml | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 bayes_opt/.idea/vcs.xml diff --git a/bayes_opt/.idea/vcs.xml b/bayes_opt/.idea/vcs.xml deleted file mode 100644 index c80f2198b..000000000 --- a/bayes_opt/.idea/vcs.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - From 68f0906b95de8458e63f5c1d67f1684a2659f532 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Sep 2014 10:55:23 -0400 Subject: [PATCH 12/12] Delete workspace.xml --- bayes_opt/.idea/workspace.xml | 399 ---------------------------------- 1 file changed, 399 deletions(-) delete mode 100644 bayes_opt/.idea/workspace.xml diff --git a/bayes_opt/.idea/workspace.xml b/bayes_opt/.idea/workspace.xml deleted file mode 100644 index afad98daa..000000000 --- a/bayes_opt/.idea/workspace.xml +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1408649610930 - 1408649610930 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -