{"id":13751776,"url":"https://github.com/motefly/DeepGBM","last_synced_at":"2025-05-09T18:32:15.874Z","repository":{"id":54479508,"uuid":"169986595","full_name":"motefly/DeepGBM","owner":"motefly","description":"SIGKDD'2019: DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks","archived":false,"fork":false,"pushed_at":"2024-07-25T10:52:57.000Z","size":51,"stargazers_count":640,"open_issues_count":11,"forks_count":135,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-08-03T09:03:17.640Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/motefly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-10T14:25:52.000Z","updated_at":"2024-08-03T01:46:35.000Z","dependencies_parsed_at":"2024-06-19T09:43:24.101Z","dependency_job_id":"c2cf74e6-533d-4702-96f2-209d59b0ebbd","html_url":"https://github.com/motefly/DeepGBM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motefly%2FDeepGBM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motefly%2FDeepGBM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motefly%2FDeepGBM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motefly%2FDeepGBM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/motefly","download_url":"https://codeload.github.com/motefly/DeepGBM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224876976,"owners_count":17384699,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T09:00:54.545Z","updated_at":"2024-11-16T04:31:38.341Z","avatar_url":"https://github.com/motefly.png","language":"Python","funding_links":[],"categories":["梯度提升和树模型"],"sub_categories":[],"readme":"# DeepGBM\n\nImplementation for the paper \"DeepGBM: A Deep Learning Framework Distilled  by GBDT for Online Prediction Tasks\", \nwhich has been accepted by KDD'2019 as an Oral Paper, in the Research Track. You can get more information from the [video](https://www.youtube.com/watch?v=UzXNzW2s8Pw) and the [paper](https://www.kdd.org/kdd2019/accepted-papers/view/deepgbm-a-deep-learning-framework-distilled-by-gbdt-for-online-prediction-t).\n\nIf you find this code useful in your research, please cite the [paper](https://www.kdd.org/kdd2019/accepted-papers/view/deepgbm-a-deep-learning-framework-distilled-by-gbdt-for-online-prediction-t):\n\nGuolin Ke, Zhenhui Xu, Jia Zhang, Jiang Bian, and Tie-Yan Liu. \"DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks.\" In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery \u0026 Data Mining. ACM, 2019: 384-394.\n\n## Brief Introduction\nThis repo is built for the experimental codes in our paper, \ncontaining all the data preprocessing, baseline models implementation\nand proposed model implementation ([full codes here](https://github.com/motefly/DeepGBM/tree/master/experiments)). For quick start, here we only show the codes related to our model.\nFor GBDT based model, our implementation is based on LightGBM. \nFor NN based model, our implementation is based on pytorch.\n\nThere are three main folders in the project, `data` is for data storage, `preprocess` is the folder containing feature selection and encoding, `models` contains all the implementation codes of the proposed model.\nFor more detailed experiments codes, refer to the [`experiments`](https://github.com/motefly/DeepGBM/tree/master/experiments) folder. \n\nBesides, `main.py` is the entry code file for our model.\nBesides, `data_helpers.py` contains the data loader, `helper.py`\ncontains the general training and testing logic for NN.\n`train_models.py` is for the specific training process of the model.\nIn `models`, there are some implementations of main models. `tree_model_interpreter.py` is used for interpreting\nthe trained GBDT's structure.\n\n## Environment Setting\nThe main dependency is shown as follows:\n* Python==3.6.6\n* LightGBM==2.2.1\n* Pytorch==0.4.1\n* Sklearn==0.19.2\n\n## Quick Start\nAll the datasets should be converted into *.csv* files first and then processed by encoders in `preprocess`. The features used for each dataset could be seen in `preprocess/encoding_*.py`, the main function specifically.\n\nTo run DeepGBM, after the above step, you will prepare your data in *.npy* format. Then we can use the function in `data_helpers.py` to load its numerical part and categorical part:\n```python\nnum_data = dh.load_data(args.data+'_num')\ncate_data = dh.load_data(args.data+'_cate')\n# following is designed for faster catNN inputs\ncate_data = dh.trans_cate_data(cate_data)\n```\nOn the contrary, if you run GBDT2NN or CatNN only, you can only feed the numerical data or categorical data into the model.\nThen, you can call the functions in `train_models.py` like:\n```python\ntrain_GBDT2NN(args, num_data, plot_title)\n# or\ntrain_DEEPGBM(args, num_data, cate_data, plot_title)\n```\n\nThanks for your visiting, and if you have any questions, please new an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotefly%2FDeepGBM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmotefly%2FDeepGBM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotefly%2FDeepGBM/lists"}