diff --git a/.gitignore b/.gitignore index 276ed2d54..8b378c254 100644 --- a/.gitignore +++ b/.gitignore @@ -51,7 +51,6 @@ Debug ./xgboost ./xgboost.mpi ./xgboost.mock -rabit #.Rbuildignore R-package.Rproj *.cache* @@ -65,9 +64,10 @@ java/xgboost4j-demo/data/ java/xgboost4j-demo/tmp/ java/xgboost4j-demo/model/ nb-configuration* -dmlc-core # Eclipse .project .cproject .pydevproject .settings/ +build + diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..b2321b41f --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "dmlc-core"] + path = dmlc-core + url = https://github.com/dmlc/dmlc-core +[submodule "rabit"] + path = rabit + url = https://github.com/dmlc/rabit diff --git a/README.md b/README.md index f33394d40..cbcbe3a6e 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ An optimized general purpose gradient boosting library. The library is paralleli It implements machine learning algorithms under the [Gradient Boosting](https://en.wikipedia.org/wiki/Gradient_boosting) framework, including [Generalized Linear Model](https://en.wikipedia.org/wiki/Generalized_linear_model) (GLM) and [Gradient Boosted Decision Trees](https://en.wikipedia.org/wiki/Gradient_boosting#Gradient_tree_boosting) (GBDT). XGBoost can also be [distributed](#features) and scale to Terascale data -XGBoost is part of [Distributed Machine Learning Common](http://dmlc.github.io/) projects +XGBoost is part of [Distributed Machine Learning Common](http://dmlc.github.io/) projects Contents -------- @@ -68,7 +68,6 @@ Bug Reporting Contributing to XGBoost ----------------------- - XGBoost has been developed and used by a group of active community members. Everyone is more than welcome to contribute. It is a way to make the project better and more accessible to more users. * Check out [Feature Wish List](https://github.com/dmlc/xgboost/labels/Wish-List) to see what can be improved, or open an issue if you want something. * Contribute to the [documents and examples](https://github.com/dmlc/xgboost/blob/master/doc/) to share your experience with other users. @@ -78,7 +77,3 @@ License ------- © Contributors, 2015. Licensed under an [Apache-2](https://github.com/dmlc/xgboost/blob/master/LICENSE) license. -XGBoost in Graphlab Create --------------------------- -* XGBoost is adopted as part of boosted tree toolkit in Graphlab Create (GLC). Graphlab Create is a powerful python toolkit that allows you to do data manipulation, graph processing, hyper-parameter search, and visualization of TeraBytes scale data in one framework. Try the [Graphlab Create](http://graphlab.com/products/create/quick-start-guide.html) -* Nice [blogpost](http://blog.graphlab.com/using-gradient-boosted-trees-to-predict-bike-sharing-demand) by Jay Gu about using GLC boosted tree to solve kaggle bike sharing challenge: diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index c1367d52e..000000000 --- a/appveyor.yml +++ /dev/null @@ -1,36 +0,0 @@ -environment: - global: - CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\python-appveyor-demo\\appveyor\\run_with_env.cmd" - DISABLE_OPENMP: 1 - VisualStudioVersion: 12.0 - - matrix: - - PYTHON: "C:\\Python27-x64" - PYTHON_VERSION: "2.7.x" # currently 2.7.9 - PYTHON_ARCH: "64" - - - PYTHON: "C:\\Python33-x64" - PYTHON_VERSION: "3.3.x" # currently 3.3.5 - PYTHON_ARCH: "64" - -platform: - - x64 - -configuration: - - Release - -install: - - cmd: git clone https://github.com/ogrisel/python-appveyor-demo - - ECHO "Filesystem root:" - - ps: "ls \"C:/\"" - - - ECHO "Installed SDKs:" - - ps: "ls \"C:/Program Files/Microsoft SDKs/Windows\"" - - - ps: python-appveyor-demo\appveyor\install.ps1 - - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - - "python --version" - - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" - -build: off - #project: windows\xgboost.sln \ No newline at end of file diff --git a/dmlc-core b/dmlc-core new file mode 160000 index 000000000..4b951c037 --- /dev/null +++ b/dmlc-core @@ -0,0 +1 @@ +Subproject commit 4b951c0378386b7f4d9eae72be2ecd3b9c816afe diff --git a/include/xgboost/base.h b/include/xgboost/base.h new file mode 100644 index 000000000..26219bae5 --- /dev/null +++ b/include/xgboost/base.h @@ -0,0 +1,15 @@ +/*! + * Copyright (c) 2015 by Contributors + * \file base.h + * \brief defines configuration macros of xgboost + */ +#ifndef XGBOOST_BASE_H_ +#define XGBOOST_BASE_H_ + +#include + +namespace xgboost { + + +} // namespace xgboost +#endif // XGBOOST_BASE_H_ diff --git a/wrapper/xgboost_wrapper.h b/include/xgboost/c_api.h similarity index 98% rename from wrapper/xgboost_wrapper.h rename to include/xgboost/c_api.h index 8d0e78a91..bdc9fc9f0 100644 --- a/wrapper/xgboost_wrapper.h +++ b/include/xgboost/c_api.h @@ -1,12 +1,11 @@ /*! - * Copyright (c) 2014 by Contributors - * \file xgboost_wrapper.h + * Copyright (c) 2015 by Contributors + * \file c_api.h * \author Tianqi Chen - * \brief a C style wrapper of xgboost - * can be used to create wrapper of other languages + * \brief C Style API of XGBoost, used to interfacing with other languages. */ -#ifndef XGBOOST_WRAPPER_H_ -#define XGBOOST_WRAPPER_H_ +#ifndef XGBOOST_C_API_H_ +#define XGBOOST_C_API_H_ #ifdef __cplusplus #define XGB_EXTERN_C extern "C" @@ -351,4 +350,4 @@ XGB_DLL int XGBoosterDumpModelWithFeatures(BoosterHandle handle, bst_ulong *len, const char ***out_models); -#endif // XGBOOST_WRAPPER_H_ +#endif // XGBOOST_C_API_H_ diff --git a/include/xgboost/data.h b/include/xgboost/data.h new file mode 100644 index 000000000..29fcd4bb5 --- /dev/null +++ b/include/xgboost/data.h @@ -0,0 +1,8 @@ +/*! + * Copyright (c) 2014 by Contributors + * \file data.h + * \brief the input data structure for gradient boosting + * \author Tianqi Chen + */ +#ifndef XGBOOST_DATA_H_ +#define XGBOOST_DATA_H_ diff --git a/src/README.md b/old_src/README.md similarity index 100% rename from src/README.md rename to old_src/README.md diff --git a/src/data.h b/old_src/data.h similarity index 100% rename from src/data.h rename to old_src/data.h diff --git a/src/gbm/gblinear-inl.hpp b/old_src/gbm/gblinear-inl.hpp similarity index 100% rename from src/gbm/gblinear-inl.hpp rename to old_src/gbm/gblinear-inl.hpp diff --git a/src/gbm/gbm.cpp b/old_src/gbm/gbm.cpp similarity index 100% rename from src/gbm/gbm.cpp rename to old_src/gbm/gbm.cpp diff --git a/src/gbm/gbm.h b/old_src/gbm/gbm.h similarity index 100% rename from src/gbm/gbm.h rename to old_src/gbm/gbm.h diff --git a/src/gbm/gbtree-inl.hpp b/old_src/gbm/gbtree-inl.hpp similarity index 100% rename from src/gbm/gbtree-inl.hpp rename to old_src/gbm/gbtree-inl.hpp diff --git a/src/io/dmlc_simple.cpp b/old_src/io/dmlc_simple.cpp similarity index 100% rename from src/io/dmlc_simple.cpp rename to old_src/io/dmlc_simple.cpp diff --git a/src/io/io.cpp b/old_src/io/io.cpp similarity index 100% rename from src/io/io.cpp rename to old_src/io/io.cpp diff --git a/src/io/io.h b/old_src/io/io.h similarity index 100% rename from src/io/io.h rename to old_src/io/io.h diff --git a/src/io/libsvm_parser.h b/old_src/io/libsvm_parser.h similarity index 100% rename from src/io/libsvm_parser.h rename to old_src/io/libsvm_parser.h diff --git a/src/io/page_dmatrix-inl.hpp b/old_src/io/page_dmatrix-inl.hpp similarity index 100% rename from src/io/page_dmatrix-inl.hpp rename to old_src/io/page_dmatrix-inl.hpp diff --git a/src/io/page_fmatrix-inl.hpp b/old_src/io/page_fmatrix-inl.hpp similarity index 100% rename from src/io/page_fmatrix-inl.hpp rename to old_src/io/page_fmatrix-inl.hpp diff --git a/src/io/simple_dmatrix-inl.hpp b/old_src/io/simple_dmatrix-inl.hpp similarity index 100% rename from src/io/simple_dmatrix-inl.hpp rename to old_src/io/simple_dmatrix-inl.hpp diff --git a/src/io/simple_fmatrix-inl.hpp b/old_src/io/simple_fmatrix-inl.hpp similarity index 100% rename from src/io/simple_fmatrix-inl.hpp rename to old_src/io/simple_fmatrix-inl.hpp diff --git a/src/io/sparse_batch_page.h b/old_src/io/sparse_batch_page.h similarity index 100% rename from src/io/sparse_batch_page.h rename to old_src/io/sparse_batch_page.h diff --git a/src/learner/dmatrix.h b/old_src/learner/dmatrix.h similarity index 100% rename from src/learner/dmatrix.h rename to old_src/learner/dmatrix.h diff --git a/src/learner/evaluation-inl.hpp b/old_src/learner/evaluation-inl.hpp similarity index 100% rename from src/learner/evaluation-inl.hpp rename to old_src/learner/evaluation-inl.hpp diff --git a/src/learner/evaluation.h b/old_src/learner/evaluation.h similarity index 100% rename from src/learner/evaluation.h rename to old_src/learner/evaluation.h diff --git a/src/learner/helper_utils.h b/old_src/learner/helper_utils.h similarity index 100% rename from src/learner/helper_utils.h rename to old_src/learner/helper_utils.h diff --git a/src/learner/learner-inl.hpp b/old_src/learner/learner-inl.hpp similarity index 100% rename from src/learner/learner-inl.hpp rename to old_src/learner/learner-inl.hpp diff --git a/src/learner/objective-inl.hpp b/old_src/learner/objective-inl.hpp similarity index 100% rename from src/learner/objective-inl.hpp rename to old_src/learner/objective-inl.hpp diff --git a/src/learner/objective.h b/old_src/learner/objective.h similarity index 100% rename from src/learner/objective.h rename to old_src/learner/objective.h diff --git a/src/sync/sync.h b/old_src/sync/sync.h similarity index 100% rename from src/sync/sync.h rename to old_src/sync/sync.h diff --git a/src/tree/model.h b/old_src/tree/model.h similarity index 100% rename from src/tree/model.h rename to old_src/tree/model.h diff --git a/src/tree/param.h b/old_src/tree/param.h similarity index 100% rename from src/tree/param.h rename to old_src/tree/param.h diff --git a/src/tree/updater.cpp b/old_src/tree/updater.cpp similarity index 100% rename from src/tree/updater.cpp rename to old_src/tree/updater.cpp diff --git a/src/tree/updater.h b/old_src/tree/updater.h similarity index 100% rename from src/tree/updater.h rename to old_src/tree/updater.h diff --git a/src/tree/updater_basemaker-inl.hpp b/old_src/tree/updater_basemaker-inl.hpp similarity index 100% rename from src/tree/updater_basemaker-inl.hpp rename to old_src/tree/updater_basemaker-inl.hpp diff --git a/src/tree/updater_colmaker-inl.hpp b/old_src/tree/updater_colmaker-inl.hpp similarity index 100% rename from src/tree/updater_colmaker-inl.hpp rename to old_src/tree/updater_colmaker-inl.hpp diff --git a/src/tree/updater_distcol-inl.hpp b/old_src/tree/updater_distcol-inl.hpp similarity index 100% rename from src/tree/updater_distcol-inl.hpp rename to old_src/tree/updater_distcol-inl.hpp diff --git a/src/tree/updater_histmaker-inl.hpp b/old_src/tree/updater_histmaker-inl.hpp similarity index 100% rename from src/tree/updater_histmaker-inl.hpp rename to old_src/tree/updater_histmaker-inl.hpp diff --git a/src/tree/updater_prune-inl.hpp b/old_src/tree/updater_prune-inl.hpp similarity index 100% rename from src/tree/updater_prune-inl.hpp rename to old_src/tree/updater_prune-inl.hpp diff --git a/src/tree/updater_refresh-inl.hpp b/old_src/tree/updater_refresh-inl.hpp similarity index 100% rename from src/tree/updater_refresh-inl.hpp rename to old_src/tree/updater_refresh-inl.hpp diff --git a/src/tree/updater_skmaker-inl.hpp b/old_src/tree/updater_skmaker-inl.hpp similarity index 100% rename from src/tree/updater_skmaker-inl.hpp rename to old_src/tree/updater_skmaker-inl.hpp diff --git a/src/tree/updater_sync-inl.hpp b/old_src/tree/updater_sync-inl.hpp similarity index 100% rename from src/tree/updater_sync-inl.hpp rename to old_src/tree/updater_sync-inl.hpp diff --git a/src/utils/base64-inl.h b/old_src/utils/base64-inl.h similarity index 100% rename from src/utils/base64-inl.h rename to old_src/utils/base64-inl.h diff --git a/src/utils/bitmap.h b/old_src/utils/bitmap.h similarity index 100% rename from src/utils/bitmap.h rename to old_src/utils/bitmap.h diff --git a/src/utils/config.h b/old_src/utils/config.h similarity index 100% rename from src/utils/config.h rename to old_src/utils/config.h diff --git a/src/utils/fmap.h b/old_src/utils/fmap.h similarity index 100% rename from src/utils/fmap.h rename to old_src/utils/fmap.h diff --git a/src/utils/group_data.h b/old_src/utils/group_data.h similarity index 100% rename from src/utils/group_data.h rename to old_src/utils/group_data.h diff --git a/src/utils/io.h b/old_src/utils/io.h similarity index 100% rename from src/utils/io.h rename to old_src/utils/io.h diff --git a/src/utils/iterator.h b/old_src/utils/iterator.h similarity index 100% rename from src/utils/iterator.h rename to old_src/utils/iterator.h diff --git a/src/utils/math.h b/old_src/utils/math.h similarity index 100% rename from src/utils/math.h rename to old_src/utils/math.h diff --git a/src/utils/omp.h b/old_src/utils/omp.h similarity index 100% rename from src/utils/omp.h rename to old_src/utils/omp.h diff --git a/src/utils/quantile.h b/old_src/utils/quantile.h similarity index 100% rename from src/utils/quantile.h rename to old_src/utils/quantile.h diff --git a/src/utils/random.h b/old_src/utils/random.h similarity index 100% rename from src/utils/random.h rename to old_src/utils/random.h diff --git a/src/utils/thread.h b/old_src/utils/thread.h similarity index 100% rename from src/utils/thread.h rename to old_src/utils/thread.h diff --git a/src/utils/thread_buffer.h b/old_src/utils/thread_buffer.h similarity index 100% rename from src/utils/thread_buffer.h rename to old_src/utils/thread_buffer.h diff --git a/src/utils/utils.h b/old_src/utils/utils.h similarity index 100% rename from src/utils/utils.h rename to old_src/utils/utils.h diff --git a/src/xgboost_main.cpp b/old_src/xgboost_main.cpp similarity index 100% rename from src/xgboost_main.cpp rename to old_src/xgboost_main.cpp diff --git a/rabit b/rabit new file mode 160000 index 000000000..bed63208a --- /dev/null +++ b/rabit @@ -0,0 +1 @@ +Subproject commit bed63208af736c4aa289b629fbe5396bd9f513d9 diff --git a/src/c_api.cc b/src/c_api.cc new file mode 100644 index 000000000..cf1b06d3c --- /dev/null +++ b/src/c_api.cc @@ -0,0 +1,2 @@ +#include +