{"action":"opened","number":448,"pull_request":{"created_at":"2011-11-24T08:36:58Z","review_comments":0,"state":"open","updated_at":"2011-11-24T08:36:58Z","patch_url":"https://github.com/scikit-learn/scikit-learn/pull/448.patch","changed_files":9,"_links":{"review_comments":{"href":"https://api.github.com/repos/scikit-learn/scikit-learn/pulls/448/comments"},"comments":{"href":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/448/comments"},"html":{"href":"https://github.com/scikit-learn/scikit-learn/pull/448"},"self":{"href":"https://api.github.com/repos/scikit-learn/scikit-learn/pulls/448"}},"comments":0,"user":{"gravatar_id":"c9e2eeace0c2f0dcc21cfca626fd1797","id":111730,"url":"https://api.github.com/users/pprett","login":"pprett","avatar_url":"https://secure.gravatar.com/avatar/c9e2eeace0c2f0dcc21cfca626fd1797?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"issue_url":"https://github.com/scikit-learn/scikit-learn/issues/448","deletions":355,"body":"This is a PR for Gradient Boosted Regression Trees [1] (aka Gradient Boosting, MART, TreeNet).\r\n\r\nGBRTs have been advertised as one of the best off-the-shelf data-mining procedures; they share many properties with random forests including little need for tuning and data preprocessing as well as high predictive accuracy. GBRT have been used very successfully in areas such as learning of ranking functions and ecology.\r\n\r\nThis should be an alternative to R's 'gbm' package [2]. Currently, it feature three loss functions (binary classification, least squared regression and robust regression), stochastic gradient boosting, and variable importance. \r\n\r\nThe PR lacks documentation (there's only a stub in ensemble.rst), I'll update it ASAP.\r\n \r\nI've benchmarked the code against R's gbm package (via rpy2) using a variety of datasets (about 4 classification and 3 regression datasets) - the results are remarkably similar; gbm, however, is usually a bit faster (I'll do some further profiling in the coming days).\r\n\r\nSome features are still on my TODO list:\r\n\r\n    * Multi-class classification\r\n    * Partial dependency plots\r\n    * Quantile loss function for robust regression\r\n\r\nI haven't benchmarked it against OpenCVs implementation - that's also on my TODO list. \r\n\r\n[1] http://en.wikipedia.org/wiki/Gradient_boosting\r\n[2] http://cran.r-project.org/web/packages/gbm/index.html","merged":false,"commits":61,"mergeable":null,"id":525682,"additions":1482,"base":{"user":{"gravatar_id":"8a6ecb57b119c5a5b3d882d08a909278","id":365630,"url":"https://api.github.com/users/scikit-learn","login":"scikit-learn","avatar_url":"https://secure.gravatar.com/avatar/8a6ecb57b119c5a5b3d882d08a909278?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"repo":{"created_at":"2010-08-17T09:43:38Z","pushed_at":"2011-11-24T08:24:38Z","updated_at":"2011-11-24T08:24:38Z","private":false,"clone_url":"https://github.com/scikit-learn/scikit-learn.git","master_branch":null,"watchers":311,"name":"scikit-learn","svn_url":"https://svn.github.com/scikit-learn/scikit-learn","language":"C","forks":144,"owner":{"gravatar_id":"8a6ecb57b119c5a5b3d882d08a909278","id":365630,"url":"https://api.github.com/users/scikit-learn","login":"scikit-learn","avatar_url":"https://secure.gravatar.com/avatar/8a6ecb57b119c5a5b3d882d08a909278?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"homepage":"http://scikit-learn.org","id":843222,"description":"scikit-learn: machine learning in Python","git_url":"git://github.com/scikit-learn/scikit-learn.git","html_url":"https://github.com/scikit-learn/scikit-learn","open_issues":105,"url":"https://api.github.com/repos/scikit-learn/scikit-learn","size":6453,"fork":false,"ssh_url":"git@github.com:scikit-learn/scikit-learn.git"},"sha":"d98e02dd79c7a92a8ff27de31df94c816a9cabb5","ref":"master","label":"scikit-learn:master"},"merged_by":null,"number":448,"title":"Gradient boosting","head":{"user":{"gravatar_id":"c9e2eeace0c2f0dcc21cfca626fd1797","id":111730,"url":"https://api.github.com/users/pprett","login":"pprett","avatar_url":"https://secure.gravatar.com/avatar/c9e2eeace0c2f0dcc21cfca626fd1797?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"repo":{"created_at":"2010-10-17T07:58:53Z","pushed_at":"2011-11-23T22:07:55Z","updated_at":"2011-11-23T22:07:55Z","private":false,"clone_url":"https://github.com/pprett/scikit-learn.git","master_branch":"master","watchers":4,"name":"scikit-learn","svn_url":"https://svn.github.com/pprett/scikit-learn","language":"C","forks":0,"owner":{"gravatar_id":"c9e2eeace0c2f0dcc21cfca626fd1797","id":111730,"url":"https://api.github.com/users/pprett","login":"pprett","avatar_url":"https://secure.gravatar.com/avatar/c9e2eeace0c2f0dcc21cfca626fd1797?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"homepage":"http://scikit-learn.sourceforge.net","id":994120,"description":"scikit-learn main repo","git_url":"git://github.com/pprett/scikit-learn.git","html_url":"https://github.com/pprett/scikit-learn","open_issues":0,"url":"https://api.github.com/repos/pprett/scikit-learn","size":180,"fork":true,"ssh_url":"git@github.com:pprett/scikit-learn.git"},"sha":"6d90b2b9dc36f7562cb3e3e13269029ddbd4c013","ref":"gradient_boosting","label":"pprett:gradient_boosting"},"closed_at":null,"html_url":"https://github.com/scikit-learn/scikit-learn/pull/448","url":"https://api.github.com/repos/scikit-learn/scikit-learn/pulls/448","diff_url":"https://github.com/scikit-learn/scikit-learn/pull/448.diff","merged_at":null}}